我想在控制檯應用程序中使用Environment.Exit函數返回成功/錯誤代碼。 (成功爲0,錯誤爲1)。現在我想在vbscript中捕獲這個返回碼並顯示返回碼(例如WScript.Echo(returnCode))。在VBscript中捕獲Console應用程序的返回碼?
有誰知道這是否可以做到?
謝謝
我想在控制檯應用程序中使用Environment.Exit函數返回成功/錯誤代碼。 (成功爲0,錯誤爲1)。現在我想在vbscript中捕獲這個返回碼並顯示返回碼(例如WScript.Echo(returnCode))。在VBscript中捕獲Console應用程序的返回碼?
有誰知道這是否可以做到?
謝謝
Launching other programs from a script。
exitcode = WshShell.Run(strCommand, , true])
如果bWaitOnReturn設置爲True,Run方法創建新的進程, 執行該命令,並等待直到該過程終止。在此 的情況下,Run方法返回從 終止的進程獲得的錯誤代碼。如果bWaitOnReturn丟失或設置爲False, 運行返回錯誤代碼0
Set WshShell = WScript.CreateObject("WScript.Shell")
errcode = WshShell.Run("your program.exe",,true)
比方說,你正在運行的腳本被稱爲「加拿大 .VBS」,讓我們說的腳本,將返回代碼「墨西哥 .vbs」。
CANADA.VBS代碼(這是你會遇到什麼。):
Dim ExitCode
Dim Return
Dim WshShell
Set WshShell=CreateObject ("WScript.Shell")
Dim Command
Command="Mexico.vbs"
Command=Chr(34) & Command & Chr (34)
ExitCode=WshShell.Run (Command, 1, True)
If ExitCode="1" Then
Return="Success"
ElseIf ExitCode="2" Then
Return="Failure"
Else
Return="Unknown"
End If
MsgBox Return
MEXICO.VBS代碼(這是加拿大將運行什麼。):
Dim Success
Success=MsgBox ("Do you want to Succeed?",vbQuestion + vbYesNo,"Your Goals are good?")
success=success-7 'Vbyes=6 vbno=7. True=-1 False=0.
'The Above Code is only for demonstration purposes. You may set success in your own statement
If Success Then 'Successful
Success=1
ElseIf not Success Then 'Failure
Success=2
Else 'Unknown
Success=0
End If
WScript.Quit (Success)
好現在在加拿大,您需要申報一個將保存墨西哥退出代碼的變量。讓我們將其命名爲 Dim ExitCode
我們也將需要一個字符串變量(雖然可以折起來的ExitCode變量這一點,但這樣做可以讓大文件的調試難度。那麼就讓他們獨立。)
Dim Return
我們將需要一個將運行Mexico.vbs的對象。我們需要的對象是WScript的殼牌
Dim WshShell
Set Wshshell=CreateObject ("WScript.Shell")
現在,我們需要指定要運行的腳本。腳本路徑是「Mexico.vbs」
Dim Command
Command="Mexico.vbs"
現在,以防萬一有在文件路徑的任何空間(這裏就不但我們是安全的),我們需要用引號括起來路徑。 (字符代碼:34)
Command=Chr(34) & Command & Chr (34)
現在,我們需要運行從Canada.vbs的Mexico.vbs和保存返回到一個變量
ExitCode=WshShell.Run (Command, 1, True) 'command is path, 1 is window state, true is wait for return.
現在我們格式化的ExitCode爲用戶友好字符串。
If ExitCode="1" Then
Return="Success"
ElseIf ExitCode="2" Then
Return="Failure"
Else
Return="Unknown"
End If
現在我們將在msgbox中顯示結果。
MsgBox Return
在Mexico.vbs你會被髮送至一個退出代碼是成功還是失敗。 我們將命名爲退出碼變量成功
Dim Success
這部分用於演示目的。您可以排除這部分並將其替換爲您的審計報表。如果成功,只需將成功設置爲true,如果失敗則設置爲False。
Success=MsgBox ("Do you want to Succeed?",vbQuestion + vbYesNo,"Your Goals are good?")
success=success-7 'Vbyes=6 vbno=7. True=-1 False=0.
'The Above Code is only for demonstration purposes. You may set success in your own statement
現在,我們將在布爾成功轉換爲整數,1 =成功2 =失敗,0 =未知
If Success Then 'Successful
Success=1
ElseIf not Success Then 'Failure
Success=2
Else 'Unknown
Success=0
End If
而現在我們將終止Mexico.vbs腳本退出代碼設置在成功。
WScript.Quit (Success)
爲什麼被標記爲C#? –
控制檯應用程序在C#中返回。 – sanjeev40084