4

バッチ ファイル自体に文字列をチェックさせることが可能かどうか疑問に思っています。

バッチ ファイルを使用して Maven コマンドを実行していますが、スクリプトの末尾にある "FAILURE" 文字列を検索して、何かが失敗したかどうかを確認したいと考えています。

他のファイルでできることは知っていますがFIND、現在の出力をそれ自体でチェックすることはできますか、それともバッチファイルの出力をテキストとして保存してから検索するのが最善の解決策ですか?

例として、出力するバッチファイルがある場合echo Hello World、出力を検索して、文字列が見つかったことを伝えHello Worldたいと思います。HelloHello

4

4 に答える 4

8

||mvn から返されたリターン コードに対してアクションを実行するという vane のアイデアは気に入っていますが、ERRORLEVEL を使用する代わりに、演算子を使用するのが好きです。以降のコマンド||は、前のコマンドが失敗した場合にのみ実行されます。

::initialize error flag to undefined
set "mvnErr="

::run your Maven command and define the error flag if there was an error
call mvn {your arguments here} || set mvnErr=1

::You can now take action if there was an error
if defined mvnErr echo there was a Maven error
于 2012-10-24T21:45:46.730 に答える
6

errorlevelこれを行うには、各 Maven コマンドの後に を確認します。例えば

@ECHO OFF

set hasErrors=0

REM execute maven command here
if not errorlevel 0 set hasErrors=1

REM more batch command and similar checking ...

if %hasErrors%==1 (
    echo print your error info or do whatever
)
于 2012-10-24T19:11:57.557 に答える
0

失敗するたびにバッチを終了しないのはなぜですか

if %ERRORLEVEL% NEQ 0 (
 echo exit /b %errorlevel%
 exit /b %errorlevel%
)
于 2014-11-28T02:28:42.317 に答える