2022年5月
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 31        
無料ブログはココログ

« 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で文字列の中身をダンプする。 »