从批处理文件中的控制台应用程序获取返回值

时间:2016-08-15 07:52:48

标签: vb.net batch-file console-application

我试图在批处理文件中从控制台应用程序获取返回值。即使控制台应用程序中的rtnValue为1,控制台应用程序也会返回0值

控制台应用程序代码

@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

批处理文件

public function beforeAction() {
     if (Yii::$app->getRequest()->getMethod() != 'POST') {
          throw new \yii\web\MethodNotAllowedHttpException('Only allow POST request');
     }
}

1 个答案:

答案 0 :(得分:1)

不要使用正在启动新shell的start /d "%~dp0" ConsoleApp.exe来运行它。而只是使用

cd %~dp0
ConsoleApp.exe

然后测试退出代码。