Corredor

ウェブ、プログラミングの勉強メモ。

Doskey コマンドで読み込ませるマクロファイル中のコメントアウト

コマンドプロンプトは、一部の記号文字が無視されるので、Doskey コマンドで読み込ませるマクロファイルの中に、コメントアウトのように使えるみたい。

Doskey コマンドと、コマンドプロンプトにおけるエイリアスは以下の記事をドウゾ。

neos21.hatenablog.com

行頭に書いて無視される記号 (独自調べ)

  • セミコロン ;
  • イコール =
  • カンマ ,
  • アットマーク @

このあたりはバッチファイルなんかに書いても行頭の記号を認識しないので、

; Rem コメント

のように書くことで完全にコメントアウトできる。

コロン : も同様の動きをするが、これはラベルとして扱われていると思われるので、余計な影響をなくすためここからは外しておいた。

マクロファイル内でのコメント定石

調べたところ、セミコロンとイコール ;= を繋げてコメントアウトライクに書く手法が多く使われているみたい。

;= Rem ココはコメント。
;= Rem コピーのエイリアス
cp=copy

;= Rem セミコロンの初期化
;=

マクロファイルの最終行に ;= だけの行を置いておくことで、; を空っぽのエイリアスとして再定義して終わらせると安全っぽい。

そういえば Echo コマンドの直後に開始カッコ ( を書いても動くんだよね。コレがなかなか難読化させてくれて面白い。

Rem 引数が空の時に空行として扱うようにするときは、大抵ピリオドを使うことが多いが…
Echo.%HOGE%

Rem ピリオドではなく開始カッコを使っても良いので、For 文の中などで使うとカッコの数をおかしくできる
Echo(%HOGE%