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!

Respuestas a la pregunta(2)

Su respuesta a la pregunta