标题: [文件操作] [已解决]批处理for语句怎样监测并删除文件方面? [打印本页]
作者: langshao1991 时间: 2011-4-15 11:25 标题: [已解决]批处理for语句怎样监测并删除文件方面?
本帖最后由 langshao1991 于 2011-4-18 13:42 编辑
我想用for 语句实现检测并删除3个文件,有一点点思路,就是不会写,麻烦高手看到后解答下- @echo off
- rem 我想删除D盘下 name1.txt name2.txt name3.txt 这3个文件
- for /l %%i in ( 1 1 1000000)do if exist D:\name1.txt del D:\name1.txt
复制代码
后面的就不会了, 是不是用"&&" 这个符号?
等待高手解答,小弟愿意一直等。。。
作者: hanyeguxing 时间: 2011-4-15 12:28
本帖最后由 hanyeguxing 于 2011-4-15 12:31 编辑
1,楼主发错版区
2,不推荐使用批处理做实时监测- @echo off&cd/d "d:\"
- :a
- 2>nul del "name1.txt" "name2.txt" "name3.txt"
- >nul ping 127.1
- goto:a
复制代码
或:- @echo off&cd/d "d:\"
- :a
- for /l %%a in (1 1 3) do del "name%%a.txt" 2>nul
- >nul ping 127.1
- goto:a
复制代码
作者: langshao1991 时间: 2011-4-15 12:33
嗯, 刚来的新人。 谢谢指导!
作者: broly 时间: 2011-4-15 12:48
检测还是监测?
这两个概念不一样
作者: langshao1991 时间: 2011-4-15 13:07
呵呵,是监测。 我吃了个午饭,又学习了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)
作者: cjiabing 时间: 2011-4-15 13:12
for /l %%i in ( 1 1 1000000)do if exist D:\name1.txt del D:\name1.txt
FOR都不懂,好好学学吧~!-
- @echo off
- :a
- rem 如果指定了单独目录可以直接使用 *.txt
- for %%a in ("d:\name1.txt" "d:\name2.txt" "d:\name3.txt" )do (
- if exist %%a del %%a
- )
- ping /n 3 127.0.1>nul
- goto a
-
-
复制代码
罗嗦一句,批处理做不控制的循环非常占CPU!~
作者: CrLf 时间: 2011-4-15 13:48
本帖最后由 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"
作者: langshao1991 时间: 2011-4-18 12:02
谢谢大家了,我又跟着你们学到了新东西O(∩_∩)O
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |