run how generate example create commands code batch bat windows batch-file

generate - how to create a batch file windows 10



Cómo ocultar la salida por lotes (3)

Podrías escribir las pocas cosas que necesitas mostrar a stderr lugar de stdout .

O alternativamente, redirija las salidas de las partes individuales que desea ocultar.

Estoy dando los toques finales a un script por lotes que transfiere los contenidos de un sitio web editado localmente a Internet.

La secuencia de comandos se abre en una ventana de la consola y genera muchas cosas que el administrador necesita ver en caso de que algo salga mal. Sin embargo, en ese caso, la salida se envía como correo electrónico, por lo que no es necesario mostrar la salida y confundir al usuario que ejecuta la actualización innecesariamente. Necesito mostrar solo unas pocas líneas (por ejemplo, "iniciando la sincronización ..." y "sincrhonización completa").

¿Alguien puede pensar en una forma de detener la salida en un script por lotes? ¿Una especie de "eco apagado" total?

Un simple

my_batch_file > nul

No lo cortaré, porque como dije, algunas cosas que necesito mostrar.


Windows realmente tiene la noción de stdout y stderr. Aquí hay un ejemplo:

test.bat:

@echo off echo verbose stuff 1 echo verbose stuff 2 echo verbose stuff 3 echo important stuff! >&2 echo verbose stuff 4

Si lo ejecuta como '' test.bat '' obtendrá el resultado completo. Si lo ejecuta como '' test.bat >nul '', solo obtendrá la salida ''importante'' (cualquier cosa redirigida a stderr, con el> & 2)


su script por lotes podría ejecutarse solo

@echo off if "%1" == "1" goto else echo start call %0 1 > nul echo done goto done :else: echo do stuff :done:

la salida de la segunda invocación va a nul