私の理解では、これ.bat
は古い 16 ビット命名規則であり、.cmd
32 ビット Windows (つまり、NT 以降) 用です。しかし、.bat ファイルはどこでも見かけますし、どちらのサフィックスを使用してもまったく同じように動作するようです。私のコードが NT より古いもので実行されることは決してないと仮定すると、バッチ ファイルにどのような名前を付けるかは本当に重要なのでしょうか。それとも、間違ったサフィックスを使用すると、何か問題が発生するのでしょうか。
ベストアンサー1
からこのニュースグループの投稿によるマーク・ズビコウスキー彼自身:
CMD.EXE に関する .CMD と .BAT の違いは次のとおりです。拡張機能を有効にすると、.CMD ファイル内の PATH/APPEND/PROMPT/SET/ASSOC はエラーに関係なく ERRORLEVEL を設定します。.BAT はエラーが発生した場合にのみ ERRORLEVEL を設定します。
つまり、ERRORLEVEL が 0 以外に設定されていて、これらのコマンドのいずれかを実行すると、結果の ERRORLEVEL は次のようになります。
- .bat ファイルでは 0 以外の値のままです
- .cmd ファイルで 0 にリセットします。