Zoeken…


Invoering

Opmerkingen worden gebruikt om informatie in een batchscript weer te geven.

Syntaxis

  • REM

  • & REM

  • ::

  • & ::

  • Ga naar: Label

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

    :Etiket

REM gebruiken voor opmerkingen

REM This is a comment
  • REM is het officiële commentaarcommando.

Labels gebruiken als opmerkingen

::This is a label that acts as a comment

De dubbele dubbele punt :: opmerking hierboven is niet gedocumenteerd als een opmerkingopdracht, maar het is een speciaal geval van een label dat als opmerking fungeert.

Let op : wanneer labels worden gebruikt als opmerkingen binnen een codeblokje tussen haakjes of for opdracht, verwacht de opdrachtprocessor dat elk label wordt gevolgd door ten minste één opdracht, dus als er een sprong naar het label wordt gemaakt, moet er iets worden uitgevoerd.

De cmd shell probeert de tweede regel uit te voeren, zelfs als deze is opgemaakt als een label (en dit veroorzaakt een fout ):

(
echo This example will fail
:: some comment
)

Wanneer u werkt tussen codeblokjes tussen haakjes, is het absoluut veiliger om REM voor alle commentaarregels te gebruiken.

Variabelen gebruiken als opmerkingen

Het is ook mogelijk om variabelen als commentaar te gebruiken. Dit kan handig zijn om voorwaardelijk te voorkomen dat opdrachten worden uitgevoerd:

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

Wanneer u het bovenstaande codefragment in een batchbestand gebruikt, worden de regels die beginnen met %_skip% alleen uitgevoerd als het batchbestand wordt aangeroepen met update als parameter.

Reacties blokkeren

Het batchbestandsformaat heeft geen syntaxis voor blokcommentaar, maar hiervoor is een gemakkelijke oplossing.

Normaal wordt elke regel van een batchbestand gelezen en vervolgens uitgevoerd door de parser, maar een goto instructie kan worden gebruikt om voorbij een blok gewone tekst te springen (die kan worden gebruikt als blokopmerking):

@echo off
goto :start

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

:start

Omdat de parser nooit de lijnen tussen de goto :start instructie en :start label ziet, kan het willekeurige tekst bevatten (inclusief controletekens zonder dat deze hoeven te ontsnappen) en zal de parser geen foutmelding geven.

Commentaar op de regel van de code

Om op dezelfde regel als de code te reageren, kunt u &:: of &rem . U kunt ook && of || om & te vervangen.

Voorbeeld:

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

Een nieuwsgierigheid : SET opdracht maakt beperkte inline-opmerkingen mogelijk zonder &rem :

set "varname=varvalue"    limited inline comment here

beperkingen:

  • syntaxis met dubbele aanhalingstekens set "varname=varvalue" of set "varname=" ,
  • een inline reactie mag geen dubbele aanhalingstekens bevatten,
  • cmd giftige tekens | < > & moet correct zijn ontsnapt als ^| ^< ^> ^& ,
  • haakjes ( ) moeten op de juiste manier zijn ontsnapt als ^( ^) binnen een codeblokje tussen haakjes.

Batch en WSF hybride reactie

<!-- : Comment

Dit werkt met zowel batch-script als WSF. De afsluitende tag ( --> ) werkt alleen in WSF.

Code Succesvol in zowel batch als WSF?
<!--: Comment waar
<!--: Comment --> False - De afsluitende tag werkt alleen voor WSF
--> vals


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow