Domanda

Sto provando a fare quanto segue: Cerca attraverso tutto il file TXT in temperatura che inizia con "micro" e scopri se le seguenti due stringhe esistono in una di esse. Devo trovare entrambe le stringhe in 1 file.

Attualmente ho: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
)

Ma questo sta usando o. Ho scoperto che devo usare.* Per e, ma il seguente semplice non funziona:

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

Non sono sicuro di cosa sto facendo di sbagliato. :/

Saluti, Geri

È stato utile?

Soluzione 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%"

Ottieni l'elenco di file che contengono la prima stringa e usa questo elenco per cercare la seconda stringa.

Altri suggerimenti

for /F "delims=" %%a in ('findstr /M /C:"action: Uninstall" Micro*.log') do (
   findstr /N /C:"Exit code: 0x0, restarting: No" "%%a"
)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top