标题: 请大家帮个忙!急
[打印本页]
作者: smthzh
时间: 2007-1-3 12:32
标题: 请大家帮个忙!急
由于工作需要!某个目录下每隔20秒会被写入一个文件,几天就暴了!
请问老师怎样能写个批处理: 当有文件写入时隔5秒就把他删除掉(隔5秒是为了让别的程序读取) 谢谢!!!
作者: scriptor
时间: 2007-1-4 01:59
@echo off
echo It will delete some files in this director.
echo 将在磁盘上执行删除工作,
echo Continue or Quit[C,Q]?
echo 是继续还是退出,请按键(c,q)选择。
set /p t=
if /i "%t%"=="c" (goto :lp) else goto :eof
:lp
echo Deleting....
del *.txt rem 这是你索要删除的文件
ping -n 5 127.1 >nul rem 时间是5秒
goto :lp
把它存放在你那个文件夹下,运行一次就可以了
他会自动地工作
呵呵
作者: balinger
时间: 2007-1-4 10:10
二楼的似乎是隔5秒删除一次,并不判断写入时间是否大于5秒。
我用VBS写了一个,以c:\c1\c2文件夹为例。隔20秒删除一次,删除写入时间大于5秒的文件。不知能否满足楼主的要求。
将以下存为*.vbs:
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("c:\c1\c2")
do
call delete
WScript.Sleep 20000
loop
Sub delete
Dim f1, fc, s, h
h = date & " " & time
Set fc = f.Files
For Each f1 in fc
s = f1.DateCreated
s = DateDiff("S", s, h)
If s > 5 Then f1.delete
Next
End sub
作者: scriptor
时间: 2007-1-4 12:57
改一下
:lp
echo Deleting....
for /l %%a in (1,1,1) do (
ping -n 5 127.1 >nul rem 时间是5秒
del *.txt rem 这是你索要删除的文件
)
goto :lp
其实,还可以完善一下
你看着办吧
作者: smthzh
时间: 2007-1-4 13:02
谢谢!
二楼的兄弟写的:当没有文件时提示找不到*.txt,还有就是每考虑写的时间
三楼的兄弟考虑的全面些!
不过对于我这个菜鸟!都是很值得学习的!
再次谢谢了!
作者: smthzh
时间: 2007-1-4 13:06
改完后的还是CPU100%!我把5改成20还是一样!请问怎么回市!!!
三楼写的CPU使用率比较低
作者: scriptor
时间: 2007-1-5 01:54
哦,有这样的事情啊?/
在我的机器上没有啊!
那我也不清楚了
呵呵
作者: scriptor
时间: 2007-1-5 01:54
你的机器是2000的还是xp的?
作者: scriptor
时间: 2007-1-5 01:55
Quote: |
Originally posted by balinger at 2007-1-3 21:10:
二楼的似乎是隔5秒删除一次,并不判断写入时间是否大于5秒。
我用VBS写了一个,以c:\c1\c2文件夹为例。隔20秒删除一次,删除写入时间大于5秒的文件 ... |
|
恩,很好啊