Buscar..


Introducción

Los comentarios se utilizan para mostrar información en un script por lotes.

Sintaxis

  • movimiento rápido del ojo

  • &MOVIMIENTO RÁPIDO DEL OJO

  • ::

  • & ::

  • Ir a: Etiqueta

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

    :Etiqueta

Uso de REM para comentarios

REM This is a comment
  • REM es el comando oficial de comentarios.

Uso de etiquetas como comentarios

::This is a label that acts as a comment

El doble de colon :: comentario se muestra arriba no está documentado como un comando comentario, pero es un caso especial de una etiqueta que actúa como un comentario.

Precaución : cuando las etiquetas se usan como comentarios dentro de un bloque de código entre corchetes o for comando, el procesador de comando espera que cada etiqueta sea seguida por al menos un comando, por lo que cuando se realiza un salto a la etiqueta tendrá algo que ejecutar.

El shell cmd intentará ejecutar la segunda línea incluso si está formateada como una etiqueta (y esto provoca un error ):

(
echo This example will fail
:: some comment
)

Cuando se trabaja dentro de bloques de código entre corchetes, es definitivamente más seguro usar REM para todas las líneas de comentarios.

Uso de variables como comentarios

También es posible utilizar variables como comentarios. Esto puede ser útil para evitar condicionalmente que se ejecuten comandos:

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

Cuando se utiliza el fragmento de código anterior en un archivo por lotes, las líneas que comienzan con %_skip% solo se ejecutan si se llama al archivo por lotes con la update como parámetro.

Bloquear comentarios

El formato de archivo por lotes no tiene una sintaxis de comentarios de bloque, pero hay una solución fácil para esto.

Normalmente, cada línea de un archivo por lotes es leída y luego ejecutada por el analizador, pero se puede usar una instrucción goto para saltar un bloque de texto sin formato (que se puede usar como un comentario de bloque):

@echo off
goto :start

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

:start

Dado que el analizador nunca ve las líneas entre la goto :start y :start , puede contener texto arbitrario (incluidos los caracteres de control sin la necesidad de escapar) y el analizador no generará un error.

Comenta en la línea del código

Para comentar en la misma línea que el código, puede usar &:: o &rem . También puedes usar && o || para reemplazar & .

Ejemplo:

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

Una curiosidad : el comando SET permite comentarios en línea limitados sin &rem :

set "varname=varvalue"    limited inline comment here

Limitaciones:

  • la sintaxis con comillas dobles set "varname=varvalue" o set "varname=" ,
  • un comentario en línea no puede contener ninguna cita doble,
  • cualquier cmd caracteres venenosos | < > & debe ser correctamente escapado como ^| ^< ^> ^& ,
  • los paréntesis ( ) deben escaparse correctamente como ^( ^) dentro de un bloque de código entre corchetes.

Lote y comentario híbrido WSF

<!-- : Comment

Esto funciona tanto con script por lotes como WSF. La etiqueta de cierre ( --> ), solo funciona en WSF.

Código ¿Éxito tanto en el lote como en el FSM?
<!--: Comment Cierto
<!--: Comment --> Falso: la etiqueta de cierre solo funciona para el FSM
--> Falso


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow