Mi programa por loteslotes cómo configurar resultado FINDSTR a una variable y deshabilitar la impresión findstr a la consola
FINDSTR /C:"Result Comparison failure" %tmp_result_file%
que quiero hacer el folloiwng, establecer el resultado del comando anterior a una variable. Si lo encuentra, configure la primera línea en varible o establezca que la línea encontrada para una varible está bien para mí.
también el comando de arriba imprimirá el comando findstr para la consola incluso @echo off. ¿Hay algún método para desactivar la impresión?
muchas gracias
parte de mi escritura, lo que hago comando se ejecuta en cada línea en SourceFile y poner el funcionamiento el resultado en un archivo tmp, a continuación, utilizar encontrar str para encontrar la cadena logrado verifica 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 artículos en %source_file%
, por lo que la carrera fuera de 2 veces.
para el primero, el FINDSTR no puede encontrar nada, por lo que imprima xxx
para la segunda, se encontró una en findstr, pero sólo imprimir "Result
" en lugar de "Result Comparison failure
", también el XX es impresión antes de resultado. ¡Muy extraño!
+ 1, pero ¿por qué no comparar el valor de '%% i' directamente? Como este (en el cuerpo del bucle interno):' IF "%% i" == "" (ECHO xx) ELSE ECHO %% i'. –
sí , tienes razón, esa es una posibilidad ... Reutilicé código manejando múltiples resultados de búsqueda. –