くりーむわーかー

プログラムとか。作ってて ・試しててハマった事など。誰かのお役に立てば幸いかと。 その他、いろいろエトセトラ。。。

バッチファイル

Windows バッチファイルでコマンドがループ

タイトル通り。久しぶりにさわったら無茶苦茶ハマった。

Windowsで、とあるバッチファイル(.bat/.cmd)作って実行したら何故かコマンドが無限ループする。

全然分かんなくて調べてみたら原因は下記。

標準で使えるコマンドと同じ名前のバッチファイルだとこの事象が起きるらしい。

copy.batとかcmdkey.cmdとかとか。

まんまと罠にはまりましたとさ。。。

調べるのやたら時間かかった。。。

いやだって、「バッチコマンド 無限ループ」とかで調べても、ループの書き方しか出てこないんだもの。。。

バッチファイルのメッセージを出力しないようにする

Windowsのバッチファイルでメッセージ的なものを何も出したく無い場合、
@echo off
だとムリ。コマンドは消えるけどメッセージまでは消えない。 メッセージもろもろも消す場合は↓。
コマンド >NUL 2>&1
各コマンドの出力先をNULにする。ついでに標準エラーの出力先を標準出力に変えておく。 これでメッセージを丸ごと消せる。全コマンドに上をつけてあげる感じ。
問合せ