Suche…


Einführung

Kommentare werden verwendet, um Informationen in einem Batch-Skript anzuzeigen.

Syntax

  • REM

  • & REM

  • ::

  • & ::

  • Gehe zu: Label

        Comments. You can also use |>< ,etc.
    

    :Etikette

Verwenden von REM für Kommentare

REM This is a comment
  • REM ist der offizielle Kommentarbefehl.

Labels als Kommentare verwenden

::This is a label that acts as a comment

Der oben gezeigte Doppelpunkt :: Kommentar ist nicht als Kommentarbefehl dokumentiert, sondern es handelt sich um einen Sonderfall einer Beschriftung, die als Kommentar fungiert.

Achtung : Wenn Labels als Kommentare innerhalb eines Klammer-Codeblocks oder for Befehle verwendet werden, erwartet der Befehlsprozessor, dass auf jedes Label mindestens ein Befehl folgt. Wenn also ein Sprung zum Label ausgeführt wird, muss etwas ausgeführt werden.

Die cmd Shell versucht, die zweite Zeile auszuführen, selbst wenn sie als Label formatiert ist (und dies verursacht einen Fehler ):

(
echo This example will fail
:: some comment
)

Wenn Sie in geklammerten Codeblöcken arbeiten, ist die Verwendung von REM für alle Kommentarzeilen definitiv sicherer.

Verwendung von Variablen als Kommentar

Es ist auch möglich, Variablen als Kommentare zu verwenden. Dies kann nützlich sein, um die Ausführung von Befehlen bedingt zu verhindern:

@echo off 
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat 
%_skip% echo Update applied 
... 

Bei Verwendung des obigen Code-Snippets in einer Batchdatei werden die mit %_skip% beginnenden Zeilen nur ausgeführt, wenn die Batchdatei mit update als Parameter aufgerufen wird.

Kommentare blockieren

Das Batch-Dateiformat verfügt nicht über eine Blockkommentar-Syntax, es gibt jedoch eine einfache Problemumgehung.

Normalerweise wird jede Zeile einer Batchdatei gelesen und dann vom Parser ausgeführt. Mit der goto Anweisung können Sie jedoch einen Klartextblock überspringen (der als Blockkommentar verwendet werden kann):

@echo off
goto :start

A multi-line comment block can go here.
It can also include special characters such as | >

:start

Da der Parser niemals die Zeilen zwischen der goto :start Anweisung und dem :start Label sieht, kann er beliebigen Text enthalten (einschließlich Steuerzeichen, ohne dass ein Escape erforderlich ist), und der Parser gibt keinen Fehler aus.

Kommentieren Sie die Codezeile

Um die gleiche Zeile wie den Code zu kommentieren, können Sie &:: oder &rem . Sie können auch && oder || & ersetzen.

Beispiel:

@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause

Eine Kuriosität : SET Befehl erlaubt eingeschränkte Inline-Kommentare ohne &rem :

set "varname=varvalue"    limited inline comment here

Einschränkungen:

  • Syntax mit Anführungszeichen set "varname=varvalue" oder set "varname=" ,
  • Ein Inline-Kommentar darf kein Anführungszeichen enthalten.
  • beliebige cmd giftige cmd | < > & muss ordnungsgemäß als ^| ^< ^> ^& ,
  • Klammern ( ) müssen ordnungsgemäß als ^( ^) innerhalb eines Klammercodeblocks mit Escapezeichen versehen werden.

Batch- und WSF-Hybridkommentar

<!-- : Comment

Dies funktioniert sowohl mit Batch-Skript als auch mit WSF. Das schließende Tag ( --> ) funktioniert nur in WSF.

Code Erfolgreich sowohl im Batch als auch im WSF?
<!--: Comment Wahr
<!--: Comment --> False - Das schließende Tag funktioniert nur für WSF
--> Falsch


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow