Dostaję błąd 800A0414 w liniach 7 i 12 tego skryptu:Nie można użyć nawiasów Dzwoniąc Sub błąd 800A0414 VBS
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
próbuję uruchomić skrypt wsadowy, który uruchamia proces, a następnie poczekaj, aż proces się zakończy, a następnie uruchom kolejny skrypt wsadowy. Nie chcę również pokazywać żadnych okien poleceń. Jeśli ich jest łatwiejszy, proszę daj mi znać.
Dzięki za pomoc
Wydaje się, że istnieje wyjątek, który pozwoli ci użyć nawiasów, jeśli użyjesz tylko pierwszego parametru. to znaczy. 'CreateObject (" Wscript.Shell ") Uruchom (" program.bat ")' działa bez zarzutu – BeowulfNode42
@ BeowulfNode42: '.Run (" program.bat ")' jest prawidłową składnią - interpretowana jest jako 'Call ... Run ((" program.bat "))' .Ustawianie nawiasów wokół specyficzny argument wymusza przekazywanie tego argumentu 'ByVal' zamiast' ByRef' Innymi słowy, 'MySub (param)' zadziała jeśli sub spodziewa się argumentów 'ByVal', ale nie zadziała, jeśli oczekuje' ByRef' Aby uzyskać szczegółowe informacje, zobacz [ByRef i ByVal w VBScript] (http://stackoverflow.com/q/1537819/113116). – Helen