サーチ…


前書き

コメントは、バッチスクリプトで情報を表示するために使用されます。

構文

  • 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でのみ機能します
-->


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow