質問

私は、テキストファイルのうち、ファイル名の束を解析して、単一の強力にそれらを連結バッチファイルを持っている - それは、以前のhref = "https://stackoverflow.com/questions/1500570 <議論されました/窓-XP-バッチファイル化連結 ">ここを。しかし、私は私が(例えば、VCSのチェックなど)いくつかのコマンドによってそれを実行すると、ファイルがエラーをスローする場合、文字列は、ファイルを格納する必要はありません。ここに私の試みだ。

set FILE_LIST=
for /f %%x in (temp.txt) do (

:: perform a VCS test
accurev diff -b %%x

:: skip concatenation if error level is > 2
IF errorlevel 2 GOTO NEXT

:: perform the concatenation
set FILE_LIST=!FILE_LIST! %%x

:NEXT
:: print a message if here due to an error above
IF errorlevel 2 echo VCS problem with this file: %%x
)

問題がある - スクリプトのみハンドル - スクリプトがリストにある5つのファイルがあり、三番目は、VCSの問題を持っている場合、それは2よりも1つのERRORLEVEL大きい見つけ次第、forループ全体の実行を停止するように見えます最初の二つます。

役に立ちましたか?

解決

setlocal ENABLEDELAYEDEXPANSION
set FILE_LIST=
for /f %%x in (temp.txt) do (
    accurev diff -b "%%~x"
    IF errorlevel 2 (
        echo VCS problem with this file: %%~x
    ) ELSE (
        set FILE_LIST=!FILE_LIST! %%x
    )
)

他のヒント

  

ERRORLEVEL工事は1を持っている場合   奇妙な機能が...それは場合にtrueを返します   戻りコードは、等しいまたはそれ以上でした   指定したエラーレベルよります。

リファレンスその "機能" に対処する方法を理解するには、このリンクを。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top