バッチススクリプトでは通常先頭で、@echo off するので、デバッグ時以外はコマンド実行のエコーを目にすることはあまり無い。
最近気づいたのだが、以下の一部のオプションなどについて、小文字で入力しても大文字になってエコー表示される(WXPで確認)。
- if の /i オプション および equ, neq, lss, leq, gtr, geq の各比較演算子
- for の /r /f /l 各オプション
- for の /d オプションは何と d が表示されず / だけが表示される。これは /D と大文字で書いても同じだ
既に書いたように if と for の構文解析は早い段階で行われるので、何かその辺が関係しているのか?しかし、for の in や do は小文字のままである。if の /d に至ってはバグだろうが、何故 d だけ?どんなバグなんだろう。