AREM
は、最初のトークンの終わりでない場合、行末に複数行のキャレットを付けて、完全な行を注釈することができます。
REM This is a comment, the caret is ignored^
echo This line is printed
REM This_is_a_comment_the_caret_appends_the_next_line^
echo This line is part of the remark
REM の後にいくつかの文字が続く.:\/=
と、動作が少し異なります。アンパサンドはコメントされないため、インライン コメントとして使用できます。
echo First & REM. This is a comment & echo second
ただし、 のような既存のファイルの問題を回避するにはREM
、REM.bat
またはREM;.bat
変更されたバリアントのみを使用する必要があります。
REM^;<space>Comment
また、キャラクター;
には次のいずれかも許可されます;,:\/=
REM は(Win7SP1 で 100000 コメント行でテスト)よりも約6 倍遅いです。
通常の使用では重要ではありません (コメント行ごとに 58µs 対 360µs)::
A::
は常に行末キャレットを実行します。
:: This is also a comment^
echo This line is also a comment
ラベルとコメント ラベル ::
には、括弧ブロックに特別なロジックがあります。
それらは常に 2 行にまたがりますSO: goto command not working .
そのため、構文エラーの原因となることが多いため、括弧ブロックにはお勧めしません。
行は表示されますがECHO ON
、REM
コメント行は表示されません::
どちらも行の残りの部分をコメントアウトすることはできないため、シンプル%~
にすると構文エラーが発生します。
REM This comment will result in an error %~ ...
ただし、REM は、特殊文字フェーズが完了する前であっても、早い段階でバッチ パーサーを停止できます。
@echo ON
REM This caret ^ is visible
&REM または &:: を使用して、コマンド ラインの末尾にコメントを追加できます。このアプローチが機能するのは、'&' が同じ行に新しいコマンドを導入するためです。
パーセント記号を含むコメント スタイルが存在します。
実際にはこれらは変数ですが、展開されて何もありません。
ただし、利点は、なくても同じ行に配置できること&
です。
等号は、そのような変数が存在できないことを保証します。
echo Mytest
set "var=3" %= This is a comment in the same line=%
マクロが定義されるとコメントが削除されるため、実行時の動作を変更しないため、バッチ マクロにはパーセント スタイルをお勧めします。
set $test=(%\n%
%=Start of code=% ^
echo myMacro%\n%
)
要するに:
::
と%= =%
同じ性能を持っているようです
REM
~よりも 50% 長い時間がかかる::
- ブロックでは、特にループ
REM
は時間を消費するだけ::
ですが、ブロックが解析されるとキャッシュされたブロックから削除されるため、 時間を消費しません
詳細については、SO: Question about Comments in Batch *.bat files and speedを参照してください。