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!