ventajas teams sesion que puedo pida microsoft inicia entrar desventajas descargar configurar conceda carga caracteristicas administrador acceso windows batch-file dacapo

teams - Windows Batch Script: redirigir TODA la salida a un archivo



pida a su administrador de ti que le conceda acceso a microsoft teams (2)

Estoy ejecutando varios puntos de referencia de Java y me gustaría archivar los resultados. Ejecuto el punto de referencia (dacapo) de esta manera:

C:/VM/jre/bin/java -jar C:/benchmarks/dacapo-9.12-bach.jar %arg1% > %time::=%

Paso el tipo de punto de referencia en un parámetro, eso es% arg1%.

Puede ver que estoy redirigiendo la salida a un archivo de texto. Desafortunadamente, la primera y la última línea de la salida todavía se imprimen en la consola y no en el archivo de texto:

===== DaCapo 9.12 luindex starting ===== ===== DaCapo 9.12 luindex PASSED in 2000 msec =====

Especialmente la última línea sería importante tener en el archivo de texto :)

¿Hay algún truco para forzar este comportamiento?


Agregue 2> y 1 a su comando:

C:/VM/jre/bin/java -jar C:/benchmarks/dacapo-9.12-bach.jar %arg1% 2>&1 > %time::=%

Esto redireccionará STDERR a STDOUT, que luego se redirigirá a su archivo de texto.


Debe redirigir STDOUT y STDERR .

command > logfile 2>&1

STDIN es el descriptor de archivo # 0, STDOUT es el descriptor de archivo n. ° 1 y STDERR es el descriptor de archivo n. ° 2.
Así como "comando> archivo" redirige STDOUT a un archivo, también puede redirigir descriptores de archivos arbitrarios entre sí. El operador >& redirige entre los descriptores de archivos. Por lo tanto, 2 >& 1 redirige toda la salida de STDERR a STDOUT .

Además, tenga cuidado de agregar 2>&1 al final de la instrucción porque en Windows, el orden de redirección es importante ya que el command 2>&1 > logfile producirá un archivo vacío, como Dawid agregó en los comentarios.