81

ac#プロジェクトのいくつかのコマンドを実行するビルド後のイベントがあります。最後のコマンドにより、ERRORLEVEL値がゼロに等しくなく、ビルドが失敗することがありました。

ERRORLEVEL値を常にゼロに設定するコマンド行を追加したいと思います。それを行うための最も便利な方法は何ですか?

4

13 に答える 13

73

使用すると、親を終了することなく、子バッチ スクリプト内で fromexit /b 0を返すことができます。errorlevel 0

于 2009-07-11T13:45:08.600 に答える
57

トリックを行うようです:

ver > nul

すべてが機能するわけではなく、その理由は明らかではありません。たとえば、次の場合はそうではありません。

echo. > nul
cls > nul
于 2009-07-11T13:36:50.437 に答える
32

ビルド前またはビルド後のイベントで、実行可能ファイルのリターン コードが 0 より大きく、実行可能ファイルへの呼び出しがビルド前またはビルド後のイベントの最後の行でない場合、それをミュートし、ゼロ以外のチェックをトリガーしないerrorlevelようにすることは、失敗した行の後に明示的にゼロを返す行を続けることです。

cmd /c "exit /b 0"

これは基本的に、ビルド前またはビルド後のイベントの最後の行だけでなく、前述のソリューションの一般的な組み合わせです。

于 2010-01-09T23:21:36.753 に答える
17

「exit 0」は、この問題に対処する良い方法のように見えます。

使用例:

NET STOP UnderDevService /Y

出口 0

UnderDevService サービスが開始されていない場合。

于 2009-07-11T13:40:36.170 に答える
9

使っVERIFYたりVERIFY > nul

于 2012-05-02T01:37:57.380 に答える
0

失敗する可能性がある各コマンドの後に追加>nulします。これにより、ビルドが失敗するのを防ぐことができます。

を調べることで、コマンドの結果を確認できます%errorlevel%

例えば:

findstr "foo" c:\temp.txt>nul & if %errorlevel% EQU 0 (echo found it) else (echo didn't find it)
于 2010-04-15T00:11:38.537 に答える
-5

私はいつも使っていました。

set ERRORLEVEL=0

ロバの年にそれを使用しています。

于 2014-12-04T16:08:08.243 に答える