rem - コメント
バッチファイルを後から見返したり、他の人に渡したりする場合は、処理の意図をコメントとして残しておくと読みやすくなります。
Windows のバッチファイルで正式にコメントを書く方法として使われるのが rem コマンドです。
この記事では、rem の基本、@echo off や @rem との関係、よく見かける :: との違いを順番に説明します。
rem コマンドの基本
コメントを書く基本形は次の通りです。
rem コメント
たとえば、次のように書けます。
@echo off
setlocal
rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご
endlocal
このバッチファイルを実行すると、コメント自体は処理の説明として残りますが、画面に出したいメッセージは echo の内容だけです。
なぜコメントが画面に見えることがあるのか
rem はコメントを表示するコマンドではありません。
それでも画面にコメントが見えることがあるのは、コマンドエコーが有効な状態で、その行自体が表示されているからです。
setlocal
rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご
endlocal

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
@echo off と @rem の違い
@echo off
ファイルの先頭で @echo off を使うと、以降のコマンド行が画面に表示されなくなります。バッチファイルでは最もよく使う書き方です。
@rem
@rem は、その行だけコマンドエコーを抑止したいときの書き方です。
setlocal
@rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご
endlocal
バッチファイル全体で不要なコマンド表示を抑えたいなら、先頭に @echo off
を置くのが基本です。@rem は行単位で抑止したいときに使います。
:: は使ってもよい?
バッチファイルでは :: コメント という書き方もよく見かけます。
ただし、:: は正式なコメントコマンドではなく、ラベルとして解釈される書き方を流用したものです。そのため、括弧ブロックの中やリダイレクトと組み合わせた場面で期待通りに動かないことがあります。
保守しやすさや安全性を重視するなら、コメントには rem
を使うのが無難です。特に再利用するバッチファイルや共有スクリプトでは rem をおすすめします。
コメントアウトするときの注意
バッチファイルには、C 言語の /* ... */ のような正式な複数行コメント構文はありません。
複数行を一時的に無効化したいときは、対象行ごとに rem を付ける方法が最も分かりやすく安全です。
rem copy source.txt backup\source.txt
rem move source.txt archived\source.txt
rem echo 完了しました
文字コードで気を付けること
rem 自体がエラーの原因になるわけではありません。問題になりやすいのは、バッチファイルの文字コードと、cmd.exe が解釈するコードページが一致していないケースです。
日本語コメントを含むバッチファイルでは、環境によっては文字化けが起きることがあります。
日本語を含むバッチファイルは、UTF-8 でも Shift_JIS
でも環境次第で挙動差が出ます。既存の運用や文字コードに合わせて保存し、必要なら chcp 65001
なども含めて実機で確認してください。
まとめ
- 正式なコメントの書き方は
rem コメント - コメントが画面に見えるのは、
remが表示しているのではなくコマンドエコーの影響 - バッチ全体で抑止するなら
@echo off、行単位なら@rem ::は簡易的な書き方であり、堅牢さを重視するならremの方が安全- 日本語コメントでは文字コードとコードページの組み合わせを確認する