Batch como definir o resultado FINDSTR para uma variável e desativar findstr print no console

Meu programa em lote

FINDSTR  /C:"Result Comparison failure"  %tmp_result_file% 

Eu quero fazer o seguinte, defina o resultado do comando acima como uma variável. Se encontrado, defina a primeira linha como variável ou defina a linha toda encontrada como uma variáve

também o comando acima imprimirá o comando findstr para consolar até @echo desligado. existe algum método para desativar a impressã

Muito obrigad

parte do meu script, o que eu faço é executar o comando em todas as linhas no arquivo de origem e colocar o resultado da execução em um arquivo tmp, em seguida, use find str para encontrar a string com falha para verificar o resultado da execuçã

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
)

muito estranho, o resultado é:

    xx
    Resultxxx
    xx

o plano de fundo é que eu tenho dois itens em%source_file%, então a corrida sai duas vezes.
para o primeiro, o FINDSTR não consegue encontrar nada, então imprimaxxx
para o segundo, ele encontra um em findstr, mas apenas imprime "Result" ao invés de "Result Comparison failure ", também o xx é impresso antes do resultado. Muito estranho!

questionAnswers(2)

yourAnswerToTheQuestion