rem - コメント

にメンテナンス済み

バッチファイルを後から見返したり、他の人に渡したりする場合は、処理の意図をコメントとして残しておくと読みやすくなります。

Windows のバッチファイルで正式にコメントを書く方法として使われるのが rem コマンドです。

この記事では、rem の基本、@echo off や @rem との関係、よく見かける :: との違いを順番に説明します。

rem コマンドの基本

コメントを書く基本形は次の通りです。

rem コメント

たとえば、次のように書けます。

@echo off
setlocal

rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご

endlocal

このバッチファイルを実行すると、コメント自体は処理の説明として残りますが、画面に出したいメッセージは echo の内容だけです。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sample.cmd
好きな果物を入力してください。
例:りんご

なぜコメントが画面に見えることがあるのか

rem はコメントを表示するコマンドではありません。

それでも画面にコメントが見えることがあるのは、コマンドエコーが有効な状態で、その行自体が表示されているからです。

setlocal

rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご

endlocal
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sample.cmd
C:\Users\user>setlocal
C:\Users\user>rem 好きな果物を入力してもらう
C:\Users\user>echo 好きな果物を入力してください。
好きな果物を入力してください。
C:\Users\user>set /p fruit=例:りんご
例:りんご
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

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

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

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

@echo off と @rem の違い

@echo off

ファイルの先頭で @echo off を使うと、以降のコマンド行が画面に表示されなくなります。バッチファイルでは最もよく使う書き方です。

@rem

@rem は、その行だけコマンドエコーを抑止したいときの書き方です。

setlocal

@rem 好きな果物を入力してもらう
echo 好きな果物を入力してください。
set /p fruit=例:りんご

endlocal
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sample.cmd
C:\Users\user>setlocal
C:\Users\user>echo 好きな果物を入力してください。
好きな果物を入力してください。
C:\Users\user>set /p fruit=例:りんご
例:りんご
普段は @echo off が基本

バッチファイル全体で不要なコマンド表示を抑えたいなら、先頭に @echo off を置くのが基本です。@rem は行単位で抑止したいときに使います。

:: は使ってもよい?

バッチファイルでは :: コメント という書き方もよく見かけます。

ただし、:: は正式なコメントコマンドではなく、ラベルとして解釈される書き方を流用したものです。そのため、括弧ブロックの中やリダイレクトと組み合わせた場面で期待通りに動かないことがあります。

確実さを重視するなら 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 なら必ず安全、ではない

日本語を含むバッチファイルは、UTF-8 でも Shift_JIS でも環境次第で挙動差が出ます。既存の運用や文字コードに合わせて保存し、必要なら chcp 65001 なども含めて実機で確認してください。

まとめ

  • 正式なコメントの書き方は rem コメント
  • コメントが画面に見えるのは、rem が表示しているのではなくコマンドエコーの影響
  • バッチ全体で抑止するなら @echo off、行単位なら @rem
  • :: は簡易的な書き方であり、堅牢さを重視するなら rem の方が安全
  • 日本語コメントでは文字コードとコードページの組み合わせを確認する

関連記事

練習問題

練習問題

バッチファイルで正式なコメントとして扱われる書き方はどれでしょうか?

回答がサーバーに送信されることはありません
練習問題

バッチファイル全体でコマンド行の表示を抑止したいとき、最初に書くことが多いものはどれでしょうか?

回答がサーバーに送信されることはありません
#コマンドプロンプト #バッチファイル #コメント #rem