ところでバッチファイルにおいてコロンで始まる行はラベル
(GOTO の章にて後述)
の宣言です。
すると、
コロン二つで始まる行は「コロンで始まるラベル」を宣言する行となり、
結果的に何も起こっていないように見えるのではないか、
と疑うこともできます。
とはいえ、仮にそうだとしても、
現在のコンピュータ性能を考えれば意味の無い心配でしょう。
無駄になるリソースも問題にならないほど少ないですし、
ラベルの名前がバッティングする事も普通はありません。
むしろコメントの読みやすさがもたらす利益の方が大きい、
というのが私の考えです。
(なお、コロン二つは恐らくラベル定義です。 後述する if や for 中でのコロン二つによるコメントが上手に動作しない場合があるのはそのためだと思います。 しかしラベルとして考えた場合、 後述の goto 命令でジャンプしようとしてもジャンプできないなど不可解な点もあります。 結局のところ、厳格な仕様も無いバッチファイルの細かい点はあまり深追いしない方が良いのではないでしょうか。)
バッチファイルではシステム共通の「環境変数」を扱えるため、 これを使ってバッチファイル中で値を保存・参照する事ができます。 次に、環境変数 MyVar に文字列を設定して表示するバッチファイルの例を示します。
環境変数に値を設定するには SET 命令を使います。 具体的には SET に続けて変数名を書き、 その後ろに = 記号、そして設定する値を書きます。 環境変数に設定された値を参照するには変数名を % 記号で挟んで書きます。
ところで環境変数はシステム共有であり、 不用意に変更すると影響がシステム全体に及んでしまいます。 そこで、実行中のバッチファイルの中だけで有効な環境変数を作る仕組みが用意されています。 この仕組みを利用するには、まず SETLOCAL 命令を実行し、 その変数を使い終わったら ENDLOCAL 命令を実行します。 次に例を示します。
実際に使用する場合は、 バッチファイルの最初で SETLOCAL を呼ぶ形になると思います。 なお ENDLOCAL はバッチファイルを終了するタイミンク