Batch file 找到文件后运行两个程序

Batch file 找到文件后运行两个程序,batch-file,vbscript,Batch File,Vbscript,我需要能够运行一个命令与一个协同文件。一个例子 每次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.Delet

我需要能够运行一个命令与一个协同文件。一个例子

每次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

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

您忘记关闭第一个Do-loop

请这样做

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