Pregunta

Estoy tratando de hacer lo siguiente: busque todo el archivo txt en temperatura que comience con 'micro' y encuentre si las siguientes dos cadenas existe en cualquiera de ellos. Necesito encontrar ambas cadenas en 1 archivo.

Actualmente tengo:enter code here

@echo off
cd C:\Users\ADMINI~1\AppData\Local\Temp
findstr /N /C:"action: Uninstall" /C:"Exit code: 0x0, restarting: No" Micro*.log >results.txt
if %errorlevel%==1 (
robocopy C:\Users\ADMINI~1\AppData\Local\Temp C:\Users\Administrator\Desktop results.txt
) else (
echo matches found
)

Pero esto está usando o. Descubrí que necesito usar.* Para y, pero el siguiente simple no funciona:

findstr /N /C:"action: Uninstall".*/C:"Exit code: 0x0, restarting: No" Micro*.log

No estoy seguro de lo que estoy haciendo mal. :/

Saludos, Geri

¿Fue útil?

Solución 2

set "string1=action: Uninstall"
set "string2=Exit code: 0x0, restarting: No"
set "files=C:\Users\ADMINI~1\AppData\Local\Temp\Micro*.log"

findstr /m /c:"%string1%" "%files%" | findstr /f:/ /m /c:"%string2%"

Obtenga la lista de archivos que contienen la primera cadena y use esta lista para buscar la segunda cadena.

Otros consejos

for /F "delims=" %%a in ('findstr /M /C:"action: Uninstall" Micro*.log') do (
   findstr /N /C:"Exit code: 0x0, restarting: No" "%%a"
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top