batch-file
Commenti nei file batch
Ricerca…
introduzione
I commenti vengono utilizzati per mostrare le informazioni in uno script batch.
Sintassi
REM
& REM
::
& ::
Vai a: etichetta
Comments. You can also use |>< ,etc.
:Etichetta
Usare REM per i commenti
REM This is a comment
-
REM
è il comando di commento ufficiale.
Utilizzo di etichette come commenti
::This is a label that acts as a comment
Il doppio carattere ::
commento mostrato sopra non è documentato come un comando di commento, ma è un caso speciale di un'etichetta che funge da commento.
Attenzione : quando le etichette vengono utilizzate come commenti all'interno di un blocco di codice tra parentesi o for
comando, il processore di comandi si aspetta che ogni etichetta sia seguita da almeno un comando, quindi quando si esegue un salto sull'etichetta avrà qualcosa da eseguire.
La shell cmd
proverà ad eseguire la seconda riga anche se è stata formattata come etichetta (e questo provoca un errore ):
(
echo This example will fail
:: some comment
)
Quando si lavora all'interno di blocchi di codice con bracketing, è sicuramente più sicuro usare REM per tutte le righe di commento.
Uso delle variabili come commenti
È anche possibile utilizzare variabili come commenti. Questo può essere utile per impedire condizionalmente l'esecuzione di comandi:
@echo off
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat
%_skip% echo Update applied
...
Quando si utilizza lo snippet di codice sopra riportato in un file batch, le righe che iniziano con %_skip%
vengono eseguite solo se il file batch viene chiamato con update
come parametro.
Blocca commenti
Il formato del file batch non ha una sintassi del commento del blocco, ma c'è una soluzione facile per questo.
Normalmente ogni riga di un file batch viene letta e quindi eseguita dal parser, ma è possibile utilizzare un'istruzione goto
per saltare oltre un blocco di testo normale (che può essere usato come commento di blocco):
@echo off
goto :start
A multi-line comment block can go here.
It can also include special characters such as | >
:start
Dal momento che il parser non vede mai le linee tra l'istruzione goto :start
e :start
label può contenere testo arbitrario (inclusi i caratteri di controllo senza la necessità di evitarli) e il parser non genera un errore.
Commenta la riga del codice
Per commentare sulla stessa riga del codice puoi usare &::
o &rem
. Puoi anche usare &&
or ||
sostituire &
.
Esempio :
@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause
Una curiosità : il comando SET
consente commenti in linea limitati senza &rem
:
set "varname=varvalue" limited inline comment here
limitazioni:
- sintassi con virgolette
set "varname=varvalue"
oset "varname="
, - un commento in linea non può contenere virgolette doppie,
- qualsiasi
cmd
caratteri velenosi| < > &
deve essere correttamente scappato come^| ^< ^> ^&
, - parentesi
( )
deve essere debitamente escapato come^( ^)
all'interno di un blocco di codice tra parentesi.
Batch e commento ibrido WSF
<!-- : Comment
Funziona con script batch e WSF. Il tag di chiusura ( -->
), funziona solo in WSF.
Codice | Successo sia in batch che in WSF? |
---|---|
<!--: Comment | Vero |
<!--: Comment --> | False: il tag di chiusura funziona solo per WSF |
--> | falso |