Vea cómo configurar el resultado de FINDSTR en una variable y deshabilite la impresión de findtr en la consola
Mi programa por lotes
FINDSTR /C:"Result Comparison failure" %tmp_result_file%
Quiero hacer lo siguiente, establezca el resultado del comando anterior en una variable. Si se encuentra, establecer la primera línea en variable o establecer toda la línea encontrada en una variable está bien para mí.
también el comando anterior imprimirá el comando findtr para consolar incluso @echo off. ¿Hay algún método para deshabilitar la impresión?
muchas gracia
parte de mi script, lo que hago es ejecutar el comando en cada línea en el archivo fuente y poner el resultado de la ejecución en un archivo tmp, luego usar find str para encontrar la cadena fallida para verificar el resultado de la ejecución.
for /f %%a in (%source_file%) do (
echo run %%a >> %output_file%
call %run_script_command% %%a > %tmp_result_file% 2>&1
::notepad %tmp_result_file%
for /f %%i in ('FINDSTR /C:"Result Comparison failure" %tmp_result_file%') do echo %%ixxx
echo xx
)
muy extraño, el resultado es:
xx Resultxxx xx
el fondo es que tengo dos elementos en%source_file%
, por lo que sale a correr 2 veces.
para el primero, el FINDSTR no puede encontrar nada, así que imprimaxxx
para el segundo, encuentra uno en los hallazgos, pero solo imprime "Result
" en lugar de "Result Comparison failure
", también se imprime el xx antes que el resultado. ¡Muy extraño!