找到文件时运行两个程序

时间:2013-05-17 13:58:57

标签: batch-file vbscript

我需要能够使用corospoinding文件运行命令。一个例子......

Eveytime cat.txt显示在文件夹中,运行notpad.exe 每次cat2.txt出现在文件夹中,运行calc.exe

目前,下面的vbs运行良好,但仅适用于找到的一个文件。

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

我试着把它加倍:

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
FileName = "c:\vbscript\cat2.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
   If FSO.FileExists(FileName) Then 
       FSO.DeleteFile FileName
       CreateObject("WScript.Shell").Run "c:\windows\calc.exe"
   End If
   WScript.Sleep 1000
Loop

但是我得到了预期的循环错误,我做错了什么?

2 个答案:

答案 0 :(得分:2)

像这样做

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

   If FSO.FileExists("c:\vbscript\cat2.txt") Then 
       FSO.DeleteFile("c:\vbscript\cat2.txt")
       CreateObject("WScript.Shell").Run "c:\windows\calc.exe"
   End If
   WScript.Sleep 1000
Loop

答案 1 :(得分:0)

你忘了关闭第一个Do - Loop