中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-01 22:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请大家帮个忙!急 查看 879 回复 8
楼 主 请大家帮个忙!急 发表于 2007-01-03 12:32 ·  中国 上海 松江区 电信
新手上路
积分 8
发帖 3
注册 2007-01-02 00:24
19年会员
UID 75214
性别 男
状态 离线
由于工作需要!某个目录下每隔20秒会被写入一个文件,几天就暴了!

请问老师怎样能写个批处理: 当有文件写入时隔5秒就把他删除掉(隔5秒是为了让别的程序读取) 谢谢!!!
2 发表于 2007-01-04 01:59 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
@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

把它存放在你那个文件夹下,运行一次就可以了
他会自动地工作

呵呵
3 发表于 2007-01-04 10:10 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
21年会员
UID 29114
性别 男
状态 离线
二楼的似乎是隔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
4 发表于 2007-01-04 12:57 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
改一下
:lp
echo Deleting....
for /l %%a in (1,1,1) do (
ping -n 5 127.1 >nul rem 时间是5秒

del *.txt rem 这是你索要删除的文件
)
goto :lp

其实,还可以完善一下
你看着办吧
5 发表于 2007-01-04 13:02 ·  中国 上海 松江区 电信
新手上路
积分 8
发帖 3
注册 2007-01-02 00:24
19年会员
UID 75214
性别 男
状态 离线
谢谢!
二楼的兄弟写的:当没有文件时提示找不到*.txt,还有就是每考虑写的时间
三楼的兄弟考虑的全面些!
不过对于我这个菜鸟!都是很值得学习的!
再次谢谢了!
6 发表于 2007-01-04 13:06 ·  中国 上海 松江区 电信
新手上路
积分 8
发帖 3
注册 2007-01-02 00:24
19年会员
UID 75214
性别 男
状态 离线
改完后的还是CPU100%!我把5改成20还是一样!请问怎么回市!!!
三楼写的CPU使用率比较低
7 发表于 2007-01-05 01:54 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
哦,有这样的事情啊?/

在我的机器上没有啊!
那我也不清楚了

呵呵
8 发表于 2007-01-05 01:54 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
你的机器是2000的还是xp的?
9 发表于 2007-01-05 01:55 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
Originally posted by balinger at 2007-1-3 21:10:
二楼的似乎是隔5秒删除一次,并不判断写入时间是否大于5秒。
我用VBS写了一个,以c:\c1\c2文件夹为例。隔20秒删除一次,删除写入时间大于5秒的文件 ...



恩,很好啊
论坛跳转: