Siempre es una buena práctica agregar comentarios o documentación para los scripts que se crean. Esto es necesario para el mantenimiento de las secuencias de comandos para comprender lo que realmente hace la secuencia de comandos.
Por ejemplo, considere el siguiente fragmento de código que no tiene forma de comentarios. Si cualquier persona promedio que no haya desarrollado el siguiente guión intenta entender el guión, le tomaría mucho tiempo a esa persona entender lo que realmente hace el guión.
ECHO OFF IF NOT "%OS%"=="Windows_NT" GOTO Syntax ECHO.%* | FIND "?" >NUL IF NOT ERRORLEVEL 1 GOTO Syntax IF NOT [%2]==[] GOTO Syntax SETLOCAL SET WSS= IF NOT [%1]==[] FOR /F "tokens = 1 delims = " %%A IN ('ECHO.%~1') DO SET WSS = %%A FOR /F "tokens = 1 delims = " %%a IN ('NET VIEW ^| FIND /I "\%WSS%"') DO FOR /F "tokens = 1 delims = " %%A IN ('NBTSTAT -a %%a ^| FIND /I /V "%%a" ^| FIND "<03>"') DO ECHO.%%a %%A ENDLOCAL GOTO:EOF ECHO Display logged on users and their workstations. ECHO Usage: ACTUSR [ filter ] IF "%OS%"=="Windows_NT" ECHO Where: filter is the first part of the computer name^(s^) to be displayed
Comentarios usando la instrucción Rem
Hay dos formas de crear comentarios en Batch Script; uno es a través del comando Rem. Cualquier texto que siga a la instrucción Rem se tratará como comentario y no se ejecutará. A continuación se muestra la sintaxis general de esta declaración.
Sintaxis
Rem Remarks
donde ‘Comentarios’ son los comentarios que deben agregarse.
El siguiente ejemplo muestra una forma sencilla de Movimiento rápido del ojo se puede utilizar el comando.
Ejemplo
@echo off Rem This program just displays Hello World set message=Hello World echo %message%
Producción
El comando anterior produce la siguiente salida. Notará que la línea con la instrucción Rem no se ejecutará.
Hello World
Comentarios usando la declaración ::
La otra forma de crear comentarios en Batch Script es mediante el comando ::. Cualquier texto que siga a la instrucción :: se tratará como comentario y no se ejecutará. A continuación se muestra la sintaxis general de esta declaración.
Sintaxis
:: Remarks
donde ‘Comentarios’ es el comentario que debe agregarse.
El siguiente ejemplo muestra el uso del comando «::».
Ejemplo
@echo off :: This program just displays Hello World set message = Hello World echo %message%
Producción
El comando anterior produce la siguiente salida. Notará que la línea con la instrucción :: no se ejecutará.
Hello World
Nota – Si tiene demasiadas líneas de Rem, podría ralentizar el código, porque al final cada línea de código en el archivo por lotes aún debe ejecutarse.
Veamos el ejemplo del script grande que vimos al principio de este tema y veamos cómo se ve cuando se le agrega documentación.
::=============================================================== :: The below example is used to find computer and logged on users :: ::=============================================================== ECHO OFF :: Windows version check IF NOT "%OS%"=="Windows_NT" GOTO Syntax ECHO.%* | FIND "?" >NUL :: Command line parameter check IF NOT ERRORLEVEL 1 GOTO Syntax IF NOT [%2]==[] GOTO Syntax :: Keep variable local SETLOCAL :: Initialize variable SET WSS= :: Parse command line parameter IF NOT [%1]==[] FOR /F "tokens = 1 delims = " %%A IN ('ECHO.%~1') DO SET WSS = %%A :: Use NET VIEW and NBTSTAT to find computers and logged on users FOR /F "tokens = 1 delims = " %%a IN ('NET VIEW ^| FIND /I "\%WSS%"') DO FOR /F "tokens = 1 delims = " %%A IN ('NBTSTAT -a %%a ^| FIND /I /V "%%a" ^| FIND "<03>"') DO ECHO.%%a %%A :: Done ENDLOCAL GOTO:EOF :Syntax ECHO Display logged on users and their workstations. ECHO Usage: ACTUSR [ filter ] IF "%OS%"=="Windows_NT" ECHO Where: filter is the first part of the computer name^(s^) to be displayed
Ahora puede ver que el código se ha vuelto más comprensible para los usuarios que no lo han desarrollado y, por lo tanto, es más fácil de mantener.