中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 请大家帮个忙!急 上一主题 | 下一主题
smthzh
新手上路





积分 8
发帖 3
注册 2007-1-2
状态 离线
『楼 主』:  请大家帮个忙!急

由于工作需要!某个目录下每隔20秒会被写入一个文件,几天就暴了!

请问老师怎样能写个批处理: 当有文件写入时隔5秒就把他删除掉(隔5秒是为了让别的程序读取) 谢谢!!!

2007-1-3 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 2 楼』:  

@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

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

呵呵

2007-1-4 01:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 3 楼』:  

二楼的似乎是隔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

2007-1-4 10:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 4 楼』:  

改一下
:lp
echo Deleting....
for /l %%a in (1,1,1) do (
ping -n 5 127.1 >nul    rem 时间是5秒

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

其实,还可以完善一下
你看着办吧

2007-1-4 12:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
smthzh
新手上路





积分 8
发帖 3
注册 2007-1-2
状态 离线
『第 5 楼』:  

谢谢!
二楼的兄弟写的:当没有文件时提示找不到*.txt,还有就是每考虑写的时间
三楼的兄弟考虑的全面些!
不过对于我这个菜鸟!都是很值得学习的!
再次谢谢了!

2007-1-4 13:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
smthzh
新手上路





积分 8
发帖 3
注册 2007-1-2
状态 离线
『第 6 楼』:  

改完后的还是CPU100%!我把5改成20还是一样!请问怎么回市!!!
三楼写的CPU使用率比较低

2007-1-4 13:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 7 楼』:  

哦,有这样的事情啊?/

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

呵呵

2007-1-5 01:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 8 楼』:  

你的机器是2000的还是xp的?

2007-1-5 01:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by balinger at 2007-1-3 21:10:
二楼的似乎是隔5秒删除一次,并不判断写入时间是否大于5秒。
我用VBS写了一个,以c:\c1\c2文件夹为例。隔20秒删除一次,删除写入时间大于5秒的文件 ...

恩,很好啊

2007-1-5 01:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: