我在此脚本的第7行和第12行收到800A0414错误:
Module Module1
Dim p
Sub Main()
CreateObject("Wscript.Shell").Run("program.bat", 0, True)
p = Process.GetProcessesByName("program")
If p.Count > 0 Then
WScript.Sleep(300000)
Else
CreateObject("Wscript.Shell").Run("program clean up.bat", 0, True)
End If
End Sub
Private Function WScript() As Object
Throw New NotImplementedException
End Function
End Module
我正在尝试运行一个批处理脚本,该脚本启动一个进程,然后等待该进程终止,然后运行另一个批处理脚本。我也不希望显示任何命令框。如果他们的方法更简单,请让我知道。
谢谢你的帮忙
发布于 2013-02-16 16:08:02
将过程的参数列表括在括号中时,必须使用Call
关键字:
Call CreateObject("WScript.Shell").Run("program.bat", 0, True)
如果省略Call
关键字,还必须删除括号:
CreateObject("WScript.Shell").Run "program.bat", 0, True
发布于 2013-02-16 22:11:43
在我看来,这是一个VB.NET代码,而不是VBScript代码。在VB.NET (和其他方法)中有Shell function。
无论如何,Run将返回程序返回的任何错误代码,如果将结果存储在变量中,则可以在本例中使用括号。
Dim lResult As Long
lResult = CreateObject("Wscript.Shell").Run("program.bat", 0, True)
剩下的问题由“海伦”回答。
https://stackoverflow.com/questions/14902134
复制相似问题