Tengo un archivo por lotes que ejecuta varios scripts de python que hacen modificaciones en las tablas.
Quiero que los usuarios comenten los 1-2 scripts de python que no quieren ejecutar, en lugar de eliminarlos del archivo por lotes (¡para que el siguiente usuario sepa que estos scripts existen como opciones!)
También quiero añadir comentarios para llamar su atención específicamente sobre las variables que necesitan actualizar en el archivo Batch antes de ejecutarlo. Veo que puedo utilizar REM
. Pero parece que eso es más bien para actualizar al usuario con el progreso después de que lo hayan ejecutado.
¿Existe una sintaxis para añadir un comentario de forma más adecuada?
::
o REM
.:: commenttttttttttt
REM commenttttttttttt
&
:sus comandos aquí & :: commenttttttttt
IF/ELSE
, FOR
, etc...) usa REM
porque ::
da un error.::
puede fallar dentro de setlocal ENABLEDELAYEDEXPANSION
.El comando rem
es efectivamente para los comentarios. No actualiza intrínsecamente a nadie después de ejecutar el script. Sin embargo, algunos autores de scripts pueden usarlo de esa manera en lugar de echo
, porque por defecto el intérprete de lotes imprime cada comando antes de ser procesado. Como los comandos rem
no hacen nada, es seguro imprimirlos sin efectos secundarios. Para evitar la impresión de un comando, antepóngale el prefijo @
, o, para aplicar esa configuración en todo el programa, ejecute @echo off
. (Es echo off
para evitar la impresión de otros comandos; la @
es para evitar la impresión de ese comando antes de que la configuración de echo tenga efecto).
Por lo tanto, en su archivo por lotes, podría utilizar esto:
@echo off
REM To skip the following Python commands, put "REM" before them:
python foo.py
python bar.py
No, los archivos por lotes simples utilizan REM
como comentario. ECHO
es el comando que imprime algo en la pantalla.
Para "comentar" secciones del archivo puedes usar GOTO
. Un ejemplo de todos estos comandos/técnicas:
REM it starts here the section below can be safely erased once the file is customised
ECHO Hey you need to edit this file before running it! Check the instructions inside
ECHO Now press ctrl-c to interrupt execution or enter to continue
PAUSE
REM erase the section above once you have customised the file
python executed1.py
ECHO Skipping some stuff now
GOTO End
python skipped1.py
python skipped2.py
:END
python executed2.py
¿Qué puedo decir? Los archivos por lotes son una reliquia de tiempos pasados, son toscos y feos.
Puedes leer más en este sitio web.
EDIT: he modificado un poco el ejemplo para que contenga los elementos que aparentemente buscas.