Board logo

标题: [问题求助] [已解决]VBS如何定时检测指定文件的大小,不在范围内就终止指定的进程? [打印本页]

作者: xgda    时间: 2013-8-2 10:44     标题: [已解决]VBS如何定时检测指定文件的大小,不在范围内就终止指定的进程?

本帖最后由 xgda 于 2013-8-3 10:33 编辑

求一VBS代码,每隔5分钟检查一指定文档(E:\Program\test.db)的大小
如果此文档(E:\Program\test.db)大于2500KB 则本次检测结束,等待5分钟后再次检测
如果此文档(E:\Program\test.db)小于2500KB 则立即终止一指定进程(test.exe),并用(C:\AAAA\test.db)替换,等待5分钟后再次检测

注:test.db都不存在等于2500KB的可能,(C:\AAAA\test.db)一定大于2500KB,运行过程中不能出现黑框
作者: xgda    时间: 2013-8-2 10:51

上的夜班,可能无法及时回复,先谢谢了
作者: batman    时间: 2013-8-2 13:49

本帖最后由 batman 于 2013-8-2 13:52 编辑
  1. Dim Path, cgPath, FileSize
  2. Path = "E:\Program\"
  3. cgPath = "C:\AAAA\"
  4. Do
  5.   Dim objFSO
  6.   Set objFSO = CreateObject("Scripting.FileSystemObject")
  7.   FileSize = Int(objFSO.GetFile(Path & "test.db").Size / 1024)
  8.   If FileSize < 2500 Then
  9.     CreateObject("Wscript.Shell").Run "cmd /ctaskkill /f /im test.exe", False, True
  10.     objFSO.CopyFile cgPath & "test.db" Path, True
  11.   End If
  12.   Set objFSO = Nothing
  13.   WScript.Sleep 5 * 60 * 1000
  14. Loop
复制代码

作者: xgda    时间: 2013-8-2 17:45

谢谢版主回复,电脑在公司,晚上上班去测试
作者: xgda    时间: 2013-8-2 17:48

如果在最前边加上ON ERROR RESUME NEXT
是不是还能一直循环下去?
作者: xgda    时间: 2013-8-3 10:26

batman 发表于 2013-8-2 13:49



    不知为何,提示出错了



自己笨,改成了

目前正常使用

多谢版主




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2