批处理脚本不从exe文件获取返回值

时间:2017-02-28 07:17:09

标签: windows batch-file

我想用批处理脚本启动两个exe文件。脚本应该红色第一个exe程序1的输出(返回值),如果返回值为" 0"然后应该执行另一个exe程序2,否则如果第一个exe程序1的返回值是" 1"然后不应该,只执行第一个program1。我有一个脚本,但在" 0"的情况下,它永远不会跳转到第二个exe程序2。有帮助吗?这里的脚本

REM for every file do:
for %%a in (*.*) do (   
  REM get last line [reference filename with %%a]
  for /f %%b in ('C:\program1.exe -a -b -c "%%~a"') do set lastLine=%%b
  REM check for "0":
   if "!lastLine!"=="0" (
    REM call with filename as parameter:
    call :dothis "%%~a"
  ) else (
    echo %%a nothing to do
  )
)
goto :eof

:dothis
REM execute second program with filename as parameter:
start C:\Program2.exe %1
goto :eof

1 个答案:

答案 0 :(得分:0)

将括号中的var传递给:dothis并开始使用括号中的第一个参数作为窗口标题,因此Program2不会获得任何参数。

:dothis
REM execute second program with filename as parameter:
start "" "C:\Program2.exe" %1