バッチファイルでコメントするには、いくつかの方法があります。
1)remの使用
これが正式な方法です。::キャレットが処理される前に、解析が早く停止するようですが、実行に明らかに時間がかかります。パーセント拡張はremの前に行わ::れ、識別されるため、パーセントの使用が正しくない%~場合、つまりパーセントが存在する場合はエラーが発生します。コードブロックのどこでも安全に使用できます。
2)ラベルの使用 :、::または:;等
の場合:: comment、「:コメント」は無効な文字で始まるため、無効なラベル名です。ただし、ラベルの中央にコロンを使用してもかまいません。ラベルの先頭からスペースが始まる場合、は削除されてに: labelなり:labelます。ラベルの中央にスペースまたはコロンが表示される場合、名前の残りの部分は解釈されません。つまり、2つのラベル:f:ooとがある場合:f rr、両方が解釈:fされ、ファイル内で後で定義されたラベルのみにジャンプします。ラベルの残りの部分は実質的にコメントです。に代わる方法がいくつかあります。ここ::にリストします。あなたは決してできgotoまたはcallA::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