Ich versuche, einen Stapel zu schreiben, um nach einem Schlüsselwort wie "Fehlgeschlagen" "Fehler" in einer Protokolldatei zu suchen und die Bedingung in eine andere Datei zu schreiben.Windows-Stapel zum Suchen nach Schlüsselwörtern in einer Datei und Anwenden der Bedingung
Beispiel: a.) Abc.log ... search.bat - wenn abc.log ein Wort wie "Error" oder "Failed" hat, ECHO "DATA LOAD FAILED" Sonst ECHO "DATA LOAD SUCCESS"
diese versuchte,
for /F "delims=" %%a in ('findstr /I /c:"EPMAT" C:\Temp_logs\ExpDataload.log') do set ErrorCount=%%a
IF /I "%ErrorCount%" == "EPMAT-1:Command Failed to execute." (
SET Message="DATA LOAD FAILED"
) ELSE (
SET Message="DATA LOAD SUCCESS"
)
ECHO %Message%
Aber% Errorcount% wird die gesamte Zeile zu speichern, statt Stichwort. Also habe ich sogar versucht, die gesamte Zeile zu überprüfen, immer noch zeigt es "DATA LOAD SUCCESS" anstelle von FAILED.
Ich vermisse etwas in der IF-Bedingung.
Haben Sie PowerShell hier markiert, weil Sie ein PowerShell-Skript verwenden können? –
Entschuldigung, ich suche gerade nach einer Windows-Batch-Lösung. Vielen Dank. – cec4111