batch-file
バッチファイルのコメント
サーチ…
前書き
コメントは、バッチスクリプトで情報を表示するために使用されます。
構文
REM
&REM
::
&::
後藤:ラベル
Comments. You can also use |>< ,etc.
:ラベル
コメントにREMを使用する
REM This is a comment
-
REM
は公式のコメントコマンドです。
コメントとしてのラベルの使用
::This is a label that acts as a comment
上記のdouble-colon ::
commentは、コメントコマンドであるとは記録されていませんが、コメントとして機能するラベルの特殊なケースです。
注意 :ブラケット付きコードブロック内またはコマンドfor
にラベルをコメントとして使用する場合、コマンドプロセッサーはすべてのラベルに少なくとも1つのコマンドが続くことを期待しているため、ラベルにジャンプすると実行するものがあります。
cmd
シェルは、ラベルとしてフォーマットされていても、2行目を実行しようとします ( エラーが発生します )。
(
echo This example will fail
:: some comment
)
括弧で囲まれたコードブロック内で作業するときは、すべてのコメント行にREMを使用することは間違いなく安全です。
変数をコメントとして使用する
変数をコメントとして使用することもできます。これは条件付きでコマンドが実行されるのを防ぐのに便利です:
@echo off
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat
%_skip% echo Update applied
...
バッチファイルで上記のコードスニペットを使用すると、 %_skip%
始まる行は、バッチファイルがupdate
をパラメータとして呼び出された場合にのみ実行されます。
ブロックコメント
バッチファイル形式にはブロックコメント構文はありませんが、簡単な回避策があります。
通常、バッチファイルの各行が読み込まれ、パーサによって実行されますが、 goto
文を使用して、ブロックコメントとして使用できるプレーンテキストのブロックをジャンプすることができます。
@echo off
goto :start
A multi-line comment block can go here.
It can also include special characters such as | >
:start
パーサは、 goto :start
文と:start
ラベルの間の行を決して見ないので、任意のテキスト(エスケープする必要のない制御文字を含む)を含むことができ、パーサーはエラーをスローしません。
コードの行にコメントする
コードと同じ行にコメントするには、 &::
または&rem
使用できます。 &&
または||
使用することもできます。 &
を置き換える。
例:
@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause
好奇心 : SET
コマンドは、 &rem
使わないで限定的なインラインコメントを許可します:
set "varname=varvalue" limited inline comment here
制限事項:
- 二重引用符で
set "varname=varvalue"
構文は、set "varname=varvalue"
またはset "varname="
、 - インラインコメントに二重引用符を含めることはできませんが、
- 任意の
cmd
有毒キャラクター| < > &
は^| ^< ^> ^&
として適切にエスケープする必要があります^| ^< ^> ^&
- 括弧
( )
は 、括弧内のコードブロック内で^( ^)
として正しくエスケープする必要があります。
バッチおよびWSFハイブリッドコメント
<!-- : Comment
これは、バッチスクリプトとWSFの両方で機能します。終了タグ( -->
)は、WSFでのみ動作します。
コード | バッチとWSFの両方で問題はありますか? |
---|---|
<!--: Comment | 真 |
<!--: Comment --> | False - 終了タグはWSFでのみ機能します |
--> | 偽 |