【问题标题】:Constantly look for file, when file exist, run command不断寻找文件,当文件存在时,运行命令
【发布时间】:2013-05-02 15:01:44
【问题描述】:

我需要一个 vbscript 来监视特定文件的文件夹,当找到文件时,它需要执行命令然后删除该文件,但继续再次监视该文件夹以查找同一文件,以防它需要再次运行。

这...

Set FSO = CreateObject("Scripting.FileSystemObject")
Do While 1>0
   If FSO.FileExists (file.txt) Then 
       FSO.DeleteFile (file.txt)
       CreateObject("WScript.Shell").Run "c:\windows\notepad.exe"
   End If
   WScript.Sleep 1000
Loop

给我一​​个"object required: file" 错误。

更新,这有效...

FileName = "c:\vbscript\cat.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
   If FSO.FileExists(FileName) Then 
       FSO.DeleteFile FileName
       CreateObject("WScript.Shell").Run "c:\windows\notepad.exe"
   End If
   WScript.Sleep 1000
Loop

【问题讨论】:

  • -0.49 用于在FSO.DeleteFile (file.txt) 中使用虚假(),使用1>0 而不是True 或简单的Do .. Loop,并且不引用(明显的)字符串文字“file.txt” .

标签: vbscript monitor


【解决方案1】:

只需创建一个无限循环的脚本,测试文件是否存在以及是否删除它。

FileName = "Path\To\FileName"
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
   If FSO.FileExists(FileName) Then 
       FSO.DeleteFile FileName
   End If
   WScript.Sleep 1000
Loop

【讨论】:

  • @Meoiswa -0.49 表示恶心的1>0,并没有表明FileName 是一个必须初始化的变量。
  • @Ekkehard.Horner 同意,我是在紧要关头写的,因为我被赶出了教室。
  • @Meoiswa - 请删除FileName 赋值(字符串,而不是对象)中的Set;而Window的路径分隔符是“\”。
  • 谢谢,对vbscript不太熟悉。
  • @Meoiswa +1 表示概念/想法、实施和努力,
猜你喜欢
  • 2020-09-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多