ralus67
Goto Top

Suche nach Inhalt in einer Datei

Hallo Community

Ich möchte folgenden Skript ausführen, leider funktioniert dieser nicht.
Ausgangslage ist folgende: Ich möchte im messages.log nach EFI partition capacity is suchen aber diese Suche soll nur erfolgen, wenn FDE EFI Partition Fress Space Check nicht vorhanden ist.

Die Ausgabe funktioniert nicht und ich erhalte auch einen Fehler "<" kann syntaktisch an dieser Stelle nicht verarbeitet werden.


@echo off
setlocal enabledelayedexpansion

set "suchString=EFI partition capacity is"
set "dateiPfad=C:\Program Files (x86)\Abc\logs\messages.log"
set "zielPfad=C:\Temp\messages-output.txt"

set "failedString=FDE - FAILED EFI Partition Free Space check"

for /f "delims=" %%i in ('type "%dateiPfad%" ^| find "%suchString%"') do (
echo %%i | findstr "%failedString%" >nul
if not errorlevel 1 (
echo Bei Computer %Computername% String gefunden in Zeile: %%i >>"%zielPfad%"
)
)

endlocal


was ist hier falsch?

Content-ID: 5151857626

Url: https://administrator.de/contentid/5151857626

Ausgedruckt am: 19.11.2024 um 06:11 Uhr

9697748851
9697748851 01.03.2024 um 10:29:47 Uhr
Goto Top
Moin,

@echo off
setlocal enabledelayedexpansion

set "suchString=EFI partition capacity is"  
set "dateiPfad=C:\Program Files (x86)\Abc\logs\messages.log"  
set "zielPfad=C:\Temp\messages-output.txt"  

set "failedString=FDE - FAILED EFI Partition Free Space check"  

for /f "delims=" %%i in ('type "%dateiPfad%" ^| find "%suchString%"') do (  
    echo %%i | findstr "%failedString%" >nul  
    if not errorlevel 1 (
        echo Bei Computer !Computername! String gefunden in Zeile: %%i >>"%zielPfad%"  
    )
)

endlocal

Gruß
Ralus67
Ralus67 01.03.2024 um 10:39:40 Uhr
Goto Top
Funktioniert leider nicht
Ralus67
Ralus67 01.03.2024 um 10:41:47 Uhr
Goto Top
Die Ausgabe schreibt folgendes in die Datei Ich möchte aber nur, dass etwas reingeschrieben wird wenn FDE - FAILED EFI Partition Free Space check gefunden wurde

Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
Bei Computer PC01 String gefunden in Zeile: set "suchString=EFI partition capacity is"
11078840001
11078840001 01.03.2024 aktualisiert um 13:52:39 Uhr
Goto Top
Ich möchte aber nur, dass etwas reingeschrieben wird wenn FDE - FAILED EFI Partition Free Space check gefunden wurde
Oben schreibst du aber das Gegenteil:
Ich möchte im messages.log nach EFI partition capacity is suchen aber diese Suche soll nur erfolgen, wenn FDE EFI Partition Fress Space Check nicht vorhanden ist.

Was nun ? 🙃

Wenn das zweite dann so ansonsten das | | durch ein & & ersetzen (aber ohne Leerzeichen dzwischen ,scheint hier ein Forumsfehler zu sein).

@echo off
set "suchString=EFI partition capacity is"    
set "dateiPfad=C:\Program Files (x86)\Abc\logs\messages.log"    
set "zielPfad=C:\Temp\messages-output.txt"    
set "failedString=FDE - FAILED EFI Partition Free Space check"  

findstr /ilc:"%failedString%" "%dateiPfad%" >nul 2>&1 || (  
	>>"%zielPfad%" (for /f "delims=" %%i in ('findstr /ilc:"%suchString%" "%dateiPfad%" 2^>nul') do echo Bei Computer %Computername% String gefunden in Zeile: %%i)  
)
Ralus67
Ralus67 04.03.2024 um 07:56:56 Uhr
Goto Top
Entschuldige mein Durcheinander und Danke für deine Info