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-Key: 5151857626

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

Printed on: April 27, 2024 at 09:04 o'clock

Member: accessViolation
accessViolation Mar 01, 2024 at 09:29:47 (UTC)
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ß
Member: Ralus67
Ralus67 Mar 01, 2024 at 09:39:40 (UTC)
Goto Top
Funktioniert leider nicht
Member: Ralus67
Ralus67 Mar 01, 2024 at 09:41:47 (UTC)
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"
Mitglied: 11078840001
11078840001 Mar 01, 2024 updated at 12:52:39 (UTC)
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)  
)
Member: Ralus67
Ralus67 Mar 04, 2024 at 06:56:56 (UTC)
Goto Top
Entschuldige mein Durcheinander und Danke für deine Info