[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理for语句怎样监测并删除文件方面?

本帖最后由 langshao1991 于 2011-4-18 13:42 编辑

我想用for 语句实现检测并删除3个文件,有一点点思路,就是不会写,麻烦高手看到后解答下
  1. @echo off
  2. rem 我想删除D盘下 name1.txt  name2.txt  name3.txt 这3个文件
  3. for  /l  %%i  in ( 1  1  1000000)do if  exist   D:\name1.txt  del  D:\name1.txt
复制代码
后面的就不会了, 是不是用"&&" 这个符号?
等待高手解答,小弟愿意一直等。。。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
每一篇文章的背后都苦苦守候着一颗渴望共鸣的心灵!

本帖最后由 hanyeguxing 于 2011-4-15 12:31 编辑

1,楼主发错版区
2,不推荐使用批处理做实时监测
  1. @echo off&cd/d "d:\"
  2. :a
  3. 2>nul del "name1.txt" "name2.txt" "name3.txt"
  4. >nul ping 127.1
  5. goto:a
复制代码
或:
  1. @echo off&cd/d "d:\"
  2. :a
  3. for /l %%a in (1 1 3) do del "name%%a.txt" 2>nul
  4. >nul ping 127.1
  5. goto:a
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

嗯, 刚来的新人。  谢谢指导!
每一篇文章的背后都苦苦守候着一颗渴望共鸣的心灵!

TOP

检测还是监测?
这两个概念不一样
---学无止境---

TOP

呵呵,是监测。 我吃了个午饭,又学习了2楼的解答,得出了点灵感:
@echo off
for /l %%i in (1 1 1000)do if exist "D:\name1.txt" del "D:\name1.txt"&if exist "D:\name2.txt" del  "D:\name2.txt"&if exist "D:\name3.txt" del "D:\name3.txt"
pause
写了这个,明知比版主的代码效率差很多,但还是疑问为什么这个运行不成功?(只能删name1.txt)
每一篇文章的背后都苦苦守候着一颗渴望共鸣的心灵!

TOP

for  /l  %%i  in ( 1  1  1000000)do if  exist   D:\name1.txt  del  D:\name1.txt

FOR都不懂,好好学学吧~!
  1. @echo off
  2. :a
  3. rem 如果指定了单独目录可以直接使用 *.txt
  4. for %%a  in ("d:\name1.txt"  "d:\name2.txt"  "d:\name3.txt" )do (
  5.     if exist %%a del %%a
  6. )
  7. ping /n 3 127.0.1>nul
  8. goto a
  9.   
复制代码
罗嗦一句,批处理做不控制的循环非常占CPU!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 zm900612 于 2011-4-15 13:50 编辑

如果是win7或者vista,可能也可以考虑用robocopy每分钟检查,并移到别处:
robocopy .\ %tmp% 1.txt 2.txt 3.txt /mov /mon:1

或者计划任务?不过我几乎没用过,非常不熟:
schtasks /create /sc minute /mo 1 /tn del /tr "cmd /c del /f d:\1.txt d:\2.txt d:\3.txt"
1

评分人数

TOP

谢谢大家了,我又跟着你们学到了新东西O(∩_∩)O
每一篇文章的背后都苦苦守候着一颗渴望共鸣的心灵!

TOP

返回列表