バッチファイルでコメントを書く方法

pc-on-office プログラミング

プログラムを書くときに、コードの目的やゴールを説明するのに、コメントを使います。

バッチファイルでも、コメントを書くことができます。

コメントの書き方

『rem』コマンドを使う

バッチファイルでは、コメントを書くのに『rem』コマンドを使います。

『rem コメント』のように書きます。大文字で『REM』のように書いても大丈夫です。

@echo off

rem これはコメントです
REM これもコメントです

pause

『@echo off』は、バッチファイルを実行したときに、コマンドを表示させないようにするものです。『pause』は、コマンドプロンプトを閉じないように書いています。

『@echo off』については、こちらの記事で解説しています。

『rem』コマンドは、文の途中に書くことはできません。

以下のバッチファイルを実行すれば『Hello,World rem これは表示される』と表示されます。

@echo off

echo Hello,World rem これは表示される

pause

『:』ラベルを使う

『rem』コマンド以外の方法に、『:』を使う方法があります。

『:』は、『goto』コマンドに対するラベルを表す意味があります。

これを利用してをコメントを書く方法です。『:』の後ろにスペースは、あってもなくても問題ありません。

@echo off

:これはコメントです
: これもコメントです

pause

ちなみに、ラベル本来の使い方は次のようなものです。

以下のバッチファイルは、3行目の『goto』コマンドで、7行目の『:label』までジャンプするので、5行目は実行されません。

@echo off

goto label

echo gotoコマンドによって表示されません

:label

pause

『:』でコメントを書く方法は、本来のコメントの書き方ではないので、意図しない動作となるときがあるので、注意が必要です。

例えば、以下のバッチファイルでは、3行目はコメントのつもりでラベルを書いており、6行目は本来のラベルとして書いたものです。

4行目が1度表示された後は、7行目が繰り返し何度も表示されるのを想定しています。

@echo off

:メイン処理
echo コメントとして書いていた『メイン処理』

:メイン処理
echo gotoのラベルとして書いていた『メイン処理』

goto メイン処理

上のバッチを実行すれば、次のようになります。実行すれば、無限ループになるので、実行してしまったときは『Ctrl + C』で止めてください。

コメントとして書いていた『メイン処理』
gotoのラベルとして書いていた『メイン処理』
コメントとして書いていた『メイン処理』
gotoのラベルとして書いていた『メイン処理』
コメントとして書いていた『メイン処理』
gotoのラベルとして書いていた『メイン処理』
.
.
.

3行目も本来はラベルのため、9行目の『goto』コマンドで3行目にジャンプしているため、想定した動きにはなりません。

『goto』のラベルと区別するために、『::』のようにコメントを書く方法もあります。

@echo off

::ラベルと区別するために『:』を2つ使う

pause

複数行のコメントの書き方

複数行のコメントも書くことができます。

『rem/ || (この部分にコメントを書く)』のように書くことで、複数行にわたってコメントを書くことができます。

@echo off

rem/ || (
  ここは表示されません
  ここも表示されません
  複数行のコメントです
)

pause

『||』は、『コマンド1 || コマンド2』という形で使われ、コマンド1が失敗した場合、コマンド2が実行されます。

コマンド1が成功した場合は、コマンド2は実行されません。

『()』でくくった部分は、まとめて扱われます。

『rem/』は、コマンドが成功したと評価されるため、『||』より後ろの部分、つまり『()』でくくった部分は、実行されません。

これを利用して、複数行にコメントを書くことができます。

閉じ括弧『 ) 』をコメントとして書く場合は『^』を使用してエスケープします。

@echo off

rem/ || (
  ここは実行されません
  (閉じ括弧はエスケープします^)
)

pause
  • コマンド1 || コマンド2:コマンド1が失敗したら、コマンド2を実行する。
  • ():複数のコマンドをまとめる

まとめ

バッチファイルでコメントを書くには、次のような方法があります。

  • 『rem』コマンドを使う
  • 『:』ラベルを使う
  • 『::』ラベルと区別するために2つ続ける
  • 『rem/ || ()』を使用すれば複数行のコメントにできる

バッチファイルを使えば、いろいろな作業を自動化することができます。

以下のようなこともバッチファイルを使えば行うことができます。

参考

rem – Microsoft Learn

タイトルとURLをコピーしました