我試圖從批處理文件中的控制檯應用程序獲取返回值。控制檯應用程序保持返回0值,即使rtnValue在控制檯應用程序1從批處理文件中的控制檯應用程序獲取返回值
控制檯應用程序代碼
Public Function Main() As Integer
Dim rtnValue as Int16 = 0
if Not Process Then rtnValue = 1
Return rtnValue
End Function
批處理文件
@ECHO OFF
start /d "%~dp0" ConsoleApp.exe
if "%ERRORLEVEL%" == "0" goto success
:success
echo Success with error code: %ERRORLEVEL%
PAUSE
goto end
:error
echo Failed with error code: %ERRORLEVEL%
PAUSE
:end
'START'命令不會返回執行命令的值(如果該命令不存在,它將返回9059)。您可以使用「START/WAIT」或完全消除START命令。在[這個答案] **表4 **中的進一步細節(http://stackoverflow.com/questions/34987885/what-are-the-errorlevel-values-set-by-internal-cmd-exe-commands/ 34987886#34987886) – Aacini