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" o set "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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow