Frage

Ich versuche Folgendes zu tun: Suchen Sie alle TXT -Dateien in Temp, die mit 'Micro' beginnt, und finde, ob in keinem von ihnen die folgenden zwei Zeichenfolgen existieren. Ich muss beide Zeichenfolgen in 1 Datei finden.

Derzeit habe ich: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
)

Aber das benutzt OR. Ich fand, dass ich verwenden muss.* Für und, aber das folgende einfache funktioniert nicht:

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

Ich bin mir nicht sicher, was ich falsch mache. :/

Prost, Geri

War es hilfreich?

Lösung 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%"

Erhalten Sie die Liste der Dateien, die die erste Zeichenfolge enthalten, und verwenden Sie diese Liste, um den zweiten Zeichenfolge zu durchsuchen.

Andere Tipps

for /F "delims=" %%a in ('findstr /M /C:"action: Uninstall" Micro*.log') do (
   findstr /N /C:"Exit code: 0x0, restarting: No" "%%a"
)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top