バッチファイルでコメントするには、いくつかの方法があります。
1)remの使用
これが正式な方法です。::
キャレットが処理される前に、解析が早く停止するようですが、実行に明らかに時間がかかります。パーセント拡張はremの前に行わ::
れ、識別されるため、パーセントの使用が正しくない%~
場合、つまりパーセントが存在する場合はエラーが発生します。コードブロックのどこでも安全に使用できます。
2)ラベルの使用 :
、::
または:;
等
の場合:: comment
、「:コメント」は無効な文字で始まるため、無効なラベル名です。ただし、ラベルの中央にコロンを使用してもかまいません。ラベルの先頭からスペースが始まる場合、は削除されてに: label
なり:label
ます。ラベルの中央にスペースまたはコロンが表示される場合、名前の残りの部分は解釈されません。つまり、2つのラベル:f:oo
とがある場合:f rr
、両方が解釈:f
され、ファイル内で後で定義されたラベルのみにジャンプします。ラベルの残りの部分は実質的にコメントです。に代わる方法がいくつかあります。ここ::
にリストします。あなたは決してできgoto
またはcall
A::foo
ラベル。goto :foo
そしてgoto ::foo
ません。
これらはコードブロックの外でも問題なく機能しますが、コードブロックのラベルの後に、無効かどうかにかかわらず、有効なコマンドラインが必要です。:: comment
確かに別の有効なコマンドです。ラベルではなくコマンドとして解釈します。コマンドが優先されます。これは、::
ボリュームにcdするコマンドです。これは、実行subst :: C:\
した場合に機能します。それ以外の場合は、ボリュームエラーが見つかりません。これ:;
は、このように解釈することができず、代わりにラベルとして解釈され、有効なコマンドとして機能するため、間違いなく優れている理由です。これは再帰的ではありません。つまり、次のラベルはその後にコマンドを必要としません。それが二人で来る理由です。
ラベルの後に有効なコマンドを入力する必要があります。 echo something
。コードブロック内のラベルには少なくとも1つの有効なコマンドが含まれている必要があるため、行は2つのペアで構成されます。)
次の行にスペースまたは閉じ括弧があると、予期しないエラーが発生します。2 ::
行の間にスペースがあると、無効な構文エラーが発生します。
次の::
ようにコメントでキャレット演算子を使用することもできます:
@echo off
echo hello
(
:;(^
this^
is^
a^
comment^
)
:;
)
:;^
this^
is^
a^
comment
:;
)
ただし、:;
上記の理由により、末尾が必要です。
@echo off
(
echo hello
:;
:; comment
:; comment
:;
)
echo hello
偶数であれば結構です。これは間違いなくコメントするための最良の方法:;
です-4行と。では:;
、2> nul
またはを使用して抑制する必要のあるエラーは発生しませんsubst :: C:\
。あなたは使うことができますsubst :: C:\
、ボリュームが見つからないというエラーが離れて行く作るためにそれはあなたがまた、Cを配置する必要があります意味:コードになってきてから作業ディレクトリを防ぐために::\
。
行の終わりにコメントするには、command &::
またはを使用できますが
command & rem comment
、次のように偶数にする必要があります。
@echo off
(
echo hello & :;yes
echo hello & :;yes
:;
)
echo hello
最初のecho hello & :;yes
行には次の行に有効なコマンドがありますが、2番目の行には& :;yes
はないため、1つ、つまりが必要:;
です。
3)無効な環境変数を使用する
%= comment =%
。バッチファイルでは、定義されていない環境変数はスクリプトから削除されます。これにより、を使用せずに行末で使用でき&
ます。無効な環境変数、つまり等号を含む環境変数を使用するのは慣習です。追加のequalsは必須ではありませんが、対称的に見えます。また、「=」で始まる変数名は、文書化されていない動的変数用に予約されています。これらの動的変数は「=」で終わることはないため、コメントの開始と終了の両方で「=」を使用することで、名前が衝突する可能性はありません。コメントに%
またはを含めることはできません:
。
@echo off
echo This is an example of an %= Inline Comment =% in the middle of a line.
4)コマンドとして、stderrをnulにリダイレクトする
@echo off
(
echo hello
;this is a comment 2> nul
;this is another comment 2> nul
)
5)ファイルの終わりにある、閉じられていない括弧の後のすべてがコメントです
@echo off
(
echo hello
)
(this is a comment
this is a comment
this is a comment