コマンドを実行して、その出力およびその終了コードを別のファイルに保存したいと思います。
これが私がしていることです:
cmd.exe /C command 1> %TEMP%\output.log 2> %TEMP%\error.log && echo %ERRORLEVEL% > %TEMP%\status || echo %ERRORLEVEL% > %TEMP%\status
(%TEMP%\output.log
および/または%TEMP%\error.log
への)出力リダイレクトを行わない場合、終了コードは問題なく保存されます。ただし、上記のように行を複数回実行すると(コマンドプロンプトで前の行に戻って再実行するだけです)、%TEMP%\status
で0が返されます。実際の終了コードの。
何が足りないのですか?それとも、これを行うためのより良い方法がありますか?
キャプチャしていないため、実行していることによって終了コードが保存されることはありません。最も簡単な方法は、バッチファイル内からコマンドを実行することです。通常どおり出力をリダイレクトし、バッチファイルにERRORLEVEL値を2番目のファイルに保存させます。