batch-file
Kommentarer i batchfiler
Sök…
Introduktion
Kommentarer används för att visa information i ett batchskript.
Syntax
REM
& REM
::
& ::
Goto: Etikett
Comments. You can also use |>< ,etc.
:Märka
Använda REM för kommentarer
REM This is a comment
-
REM
är det officiella kommentarkommandot.
Använda etiketter som kommentarer
::This is a label that acts as a comment
Den dubbla kolon ::
-kommentaren som visas ovan dokumenteras inte som ett kommentarkommando, men det är ett speciellt fall av en etikett som fungerar som en kommentar.
Varning : när etiketter används som kommentarer i ett parenteserat kodblock eller for
kommando, förväntar kommandoprocessorn att varje etikett ska följas av minst ett kommando, så när ett hopp görs till etiketten kommer det att ha något att utföra.
cmd
skalet försöker köra den andra raden även om den är formaterad som en etikett (och detta orsakar ett fel ):
(
echo This example will fail
:: some comment
)
När man arbetar inom parenteserade kodblock är det definitivt säkrare att använda REM för alla kommentarrader.
Använda variabler som kommentarer
Det är också möjligt att använda variabler som kommentarer. Detta kan vara användbart för att villkorligt förhindra att kommandon körs:
@echo off
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat
%_skip% echo Update applied
...
När du använder ovanstående kodavsnitt i en batchfil körs raderna som börjar med %_skip%
endast om batchfilen kallas med update
som parameter.
Blockera kommentarer
Batchfilformatet har inte en syntax för blockkommentarer, men det finns en enkel lösning för detta.
Normalt läses varje rad i en batchfil och körs sedan av parser, men ett goto
uttalande kan användas för att hoppa förbi ett block av vanlig text (som kan användas som en blockkommentar):
@echo off
goto :start
A multi-line comment block can go here.
It can also include special characters such as | >
:start
Eftersom parsern aldrig ser raderna mellan goto :start
uttalandet och :start
etiketten kan det innehålla godtycklig text (inklusive kontrolltecken utan att behöva undkomma dem) och parsaren kommer inte att kasta ett fel.
Kommentera kodens rad
För att kommentera samma rad som koden kan du använda &::
eller &rem
. Du kan också använda &&
eller ||
att ersätta &
.
Exempel:
@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause
En nyfikenhet : SET
kommandot tillåter begränsade inline-kommentarer utan &rem
:
set "varname=varvalue" limited inline comment here
begränsningar:
- syntax med dubbla citat
set "varname=varvalue"
ellerset "varname="
, - en inline-kommentar får inte innehålla någon dubbelcitationstecken,
- alla
cmd
giftiga tecken| < > &
måste rymmas ordentligt som^| ^< ^> ^&
, - parenteser
( )
måste rymmas ordentligt som^( ^)
inom ett parenteserat kodblock.
Batch- och WSF-hybridkommentar
<!-- : Comment
Det här fungerar både med batchskript och WSF. Den avslutande taggen ( -->
) fungerar bara i WSF.
Koda | Lyckas både i batch och WSF? |
---|---|
<!--: Comment | Sann |
<!--: Comment --> | False - Den avslutande taggen fungerar bara för WSF |
--> | Falsk |