2018年6月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« SETLOCAL ~ ENDLOCAL内部の環境変数をエクスポートする。(その2) | トップページ | VBAで文字列の中身をダンプする。 »

2008年3月 7日 (金)

ERRORLEVELを返さないコマンドのエラー判定

DELコマンドは、エラーになってもERRORLEVELを返しません。
その代わりに標準エラーにメッセージが出ます。
なので、その有無を判定すればよいでしょう。

DEL A 2>&1 | FIND /V ""

で、ERRORLEVELは、エラーがあれば、0、なければ、1になります。逆ですが:-p

CMD/CEXIT 0
FOR /F "delims=" %2 IN ('"DEL A 2>&1"') DO CMD/CEXIT 1 & ECHO %2

とすれば、ERRORLEVELは、エラーがなければ、0、あれば、1になります。面倒ですが:-(

« SETLOCAL ~ ENDLOCAL内部の環境変数をエクスポートする。(その2) | トップページ | VBAで文字列の中身をダンプする。 »