バッチの落とし穴;注意;備忘録
- 文字コードはshift-jis
- ERRORLEVELは大文字でなければならない!errorlevelではだめ!!!
- set文の=は前後に空白を入れてはいけない
- 判断文の=は前後に空白を入れないといけない
- delコマンドには">NUL 2>&1"を付加する必要がある
バッチの落とし穴
何しろMicrosoft製なので意地悪な落とし穴が沢山隠されています。
記述法を以前の記事Windowsバッチスクリプト記述法メモ に書いたのですが、それでも忘れるので項目だけ抜き出しました
delで対象ファイルがないときに出されるどうでもいいメッセージは重要なメッセージを隠してしまいますので、
必ず">NUL 2>&1"で捨てなくてはなりません。
本来なら対象ファイルがない場合メッセージを出さないというオプションを付けるべきなのですが、
「不要なメッセージは出す、必要なメッセージは出さない」というのがMicrosoftの基本の考えなので、このように取り扱います。
なお、昔はerrorlevelでも動いたはずなのですが。。。
| 固定リンク