Utilizo 7-Zip para comprimir archivos dentro de un archivo por lotes como este:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Obtuve el siguiente resultado:
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Scanning
Creating archive output_file_name.zip
Compressing file_to_be_compressed
Everything is Ok
¿Es posible deshabilitar esta salida (es decir, no quiero que se imprima nada)?
NUL
pueden ser seguidos por dos puntos opcionales. Hasta donde sé, no realiza ninguna función real, pero sirve como un recordatorio visual de que es un dispositivo y es paralelo al uso de dos puntos después de una letra de unidad.Puede usar el comando -bs para controlar dónde va la salida. Para detener cualquier cosa menos la salida de error, agregaría
-bso0 -bsp0
.fuente
Se recomienda ver los mensajes de estado en el proceso. Para evitar mensajes largos, muestre solo confirmaciones:
fuente
findstr
solucion! Parece que puede acortar un poco esa llamada omitiendo/b
o tanto\r
el\<
interior como el interior de las cadenas de búsqueda. Yo iríafindstr /b /c:"Everything is Ok" /c:"Scanning" /c:"Creating archive"
ya que no necesita expresiones regulares (la/r
opción) aquí,/b
ya busca solo al comienzo de las cadenas.0
para el éxito y otros que detallen lo que falló). Es más fácil en un script tomar decisiones basadas en estos valores que en los mensajes.... | findstr /v /b /c:"Compressing "
para deshacerme de la lista de archivos pero mantener los otros mensajes de estado.Mejorando la respuesta de Bruno Dermario , también quería informar errores y poder verificarlos manualmente.
fuente
En caso de que PowerShell sea una opción o alguien pueda usarlo, esto es lo que hice, basado en la idea de la
findstr
respuesta.En funcionamiento normal, esto deja solo la línea "Todo está bien". Si se imprime algo inusual, permanece visible (excepto las líneas vacías, ya que aparecen con tanta frecuencia en la salida normal).
Esto se prueba para la salida en formato 7z. Otros formatos de archivo pueden generar otros mensajes además de "Comprimir". La extracción probablemente también produzca diferentes mensajes. Pero puede adaptar fácilmente el filtro a sus necesidades.
Una idea más compleja sería redirigir toda la salida a un búfer y solo imprimirla en caso de que el comando devuelva un código de salida de error. Este es un método que funciona con todos los comandos que permiten redirigir y proporcionar un código de salida de error preciso.
fuente
Compartiendo mi
findstr
solución:Entonces, la salida original de 14 líneas:
reducir a las 4 líneas:
solo reduce la salida, las advertencias y los errores van al sErr, por lo que aún los verá
fuente