- Speichern der nachfolgenden Batchdatei unter %Windir%\logsearch.cmd
- Button erzeugen mit
Kommando:%Windir%\logsearch.cmd
Parameter:%L - wechseln ins Verzeichnis mit den Batchdateien
- Erstellen einer Datei 'Parameter.txt' welche die Suchkriterien enthält (1 pro Zeile)
- auswählen der zu durchsuchenden Dateien
- Button klicken
Code: Select all
@echo off
rem Wenn die Parameterdatei nicht existiert, dann Fehlermeldung
if not exist .\Parameter.txt goto Fehler
rem Wir erzeugen eine Variable "jetzt", um ggf. die Datei 'Fehler.rst', wenn sie schon
rem existiert, in "Fehler%aktuelle Zeit%.txt" umzubenennen,
for /f "delims=,: tokens=1,2,3,4*" %%t in ("%time%") do set jetzt=%%t-%%u-%%v-%%w
rem wenn im aktuellen Verzeichnis "fehler.rst" bereits existiert, dann wird diese in
rem Fehler%jetzt% umbenannt, was z.B. Fehler22-13-59-42.txt sein kann. Damit kann man
rem innerhalb eines Tages keine Ausgabedatei versehentlich überschreiben
if exist .\fehler.rst ren fehler.rst fehler%jetzt%.rst
echo Die Dateien werden durchsucht.....
rem Jetzt wird die Datei Parameter.txt gelesen. Jede Zeile enthält einen Suchbegriff, nach
rem dem die *.log Dateien durchsucht werden sollen. dies wird in der äußeren for-Schleife
rem gemacht.
rem Und zwar werden in der inneren for-Schleife alle Dateien durchsucht, die in der
rem übergebenen Listendatei stehen. Im TC wird dies durch den Parameter %L ausgedrückt,
rem dann werden entweder alle ausgewählten Dateien oder, falls keine ausgewählt wurde,
rem die Datei die unter dem Cursor steht, durchsucht. Das Ergebnis wird an die Datei
rem Fehler.rst im gleichen Verzeichnis angefügt.
rem Zum Schluß wird mittels 'sort' die Datei 'Fehler.rst' sortiert.
for /f %%a in (parameter.txt) do for /f "delims=" %%b in (%1) do find %%~sb "%%a" >>Fehler.rst
sort fehler.rst /o fehler.rst
goto :eof
:Fehler
echo Bitte in der Datei "Parameter.txt" angeben, wonach gesucht werden soll.
echo Fuer jeden Parameter bitte eine Zeile verwenden.
pause
sheepdog