¿Cómo hago comentarios en el símbolo del sistema de Windows?


67

¿Cuál es el equivalente de las sesiones de consola de #Windows cmdpara crear un comentario?

El sistema operativo es Windows XP.


1
Tenga en cuenta que cmd.exeen Windows es no DOS - es una aplicación completa de Windows que acaba de una sintaxis similar a la decommand.com
grawity

Respuestas:


90

REM es la forma estándar:

REM this is a comment

También puede usar la convención de dos puntos que se ve comúnmente en los archivos por lotes:

:: another comment

Un solo dos puntos seguido de una cadena es una etiqueta, pero un doble punto y todo lo que sigue se ignora en silencio. Se podría argumentar que esta forma es más legible que el REMcomando.

Tenga en cuenta que ambos métodos solo funcionan al principio de una línea. Si desea agregar un comentario a un comando, puede usarlos con el carácter de concatenación de comandos ( &), de esta manera:

dir & REM a comment
dir &:: another one

2
Gracias. ¿Esto solo funciona si es lo primero que se encuentra, en lugar de hacer algo como dir :: comment?
Andrew Grimm

1
Primero un enlace útil . Entonces, los comentarios de dos puntos no parecen funcionar dentro de los bloques de código (código entre paréntesis, como en if/ forbucles).
x-yuri

@efotinis, ¿es remrealmente un comando? No sería ::mejor, ya que en sí está siendo ignorada?
Pacerier

@Pacerier, sí REMes un comando real, pero está incrustado en CMD.EXE, por lo que debería ser bastante eficiente. Por otro lado, ::puede ser más rápido, ya que ignora todo al final de la línea (por ejemplo, no comprueba si hay comandos encadenados &).
efotinis

2
Tenga en cuenta que el uso ::puede romper su código en algunos casos, como ser la última línea en un bloque de código.
bryc

16

Prefijas tu comentario con la palabra REM.

REM This is a comment.

Pero si desea que le impriman su comentario, debe repetirlo:

echo This is a comment you'll see.

Aceptando que funciona, pero solo me habría sorprendido un poco más si la respuesta fuera BTW, como en lolcode.com/specs/1.2#comments
Andrew Grimm

5

El REMcomando solo comenta (es decir, Diga algo como comentario) que la línea no se ejecute. Sin embargo, si @echo offno está en el archivo por lotes, esa línea seguirá haciendo eco en la pantalla.

Para evitar que se muestren estas líneas, puede hacer una de tres cosas.

  1. Agregue @echo off al archivo por lotes :
    si desea ocultar todos los comandos, así como las líneas REM, agregue @echo off como la primera línea en el archivo por lotes.
  2. Cambie REM a @REM :
    si desea que se muestren los comandos cuando se ejecuta el archivo por lotes, pero aún así desea ocultar las líneas REM, escriba @REM en lugar de REM.
  3. Use: :( es decir, etiqueta inválida ) en lugar de REM :
    Finalmente, usar :: como el comando de observación en lugar de REM también evita el eco de la línea remarcada.

fuente


2

Creo que la respuesta proporcionada por bernhard es incorrecta.

Al menos hasta la victoria 7,

rem comment

en un archivo por lotes se imprimirá en la salida. Para suprimir la impresión, use

@ rem comment

o

@rem comment

Lo mismo ocurre con otros comandos, que por defecto se repiten en la consola.


El comando REM commentno imprimirá ningún resultado en la pantalla. Para una demostración en vivo, abra un símbolo del sistema y ejecute, echo commentluego ejecute el comando rem comment. Observe que el echocomando imprime el resultado en la pantalla mientras que el remcomando no lo hizo.
Digo reinstalar a Mónica el

Siempre uso @REM commenten mis scripts por lotes para evitar que aparezcan. Hubiera sugerido editar la respuesta de Bernards para incluir el uso de @ antes de REM en scripts por lotes para evitar que aparezca en lugar de publicar una respuesta completamente nueva.
Robin Hood

3
@RobinHood, los archivos por lotes hacen eco de todos los comandos de forma predeterminada (para fines de depuración), por eso es habitual comenzar con ellos @ECHO OFF & SETLOCAL .... De esta manera, no necesita anteponer @todas las líneas y puede cambiar fácilmente ECHO ONcuando algo sale mal y necesita hacer algunas pruebas.
efotinis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.