Batch soll Datum aus File auslesen.
Lese hier schon länger mit, habe nun auch eine Frage.
Per Batch (Win XP) wird jeden Tag der Inhalt eines Directories in eine Datei geschrieben. In diesem Directory stehen Log Files von einer Datensicherung.
Das neueste Logfile mit Datum steht immer oben.
Ich möchte nun automatisch jeden Tag einmal abchecken lassen, ob die Logfiles für den aktuellen Tag angelegt worden sind, also ob die Sicherung gelaufen ist (wenn die Sicherung nicht gelaufen ist, wird nämlich kein Logfile angelegt).
Es soll daher das aktuelle Datum vom Rechner mit den Datumseinträgen im Logfile verglichen werden, wenn im Logfile kein aktuelles Datum drinsteht, möchte ich mit mit "Blat" eine Email zusenden lassen.
Ich hoffe, ich konnte mich verständlich ausdrücken.
Per Batch (Win XP) wird jeden Tag der Inhalt eines Directories in eine Datei geschrieben. In diesem Directory stehen Log Files von einer Datensicherung.
Das neueste Logfile mit Datum steht immer oben.
Ich möchte nun automatisch jeden Tag einmal abchecken lassen, ob die Logfiles für den aktuellen Tag angelegt worden sind, also ob die Sicherung gelaufen ist (wenn die Sicherung nicht gelaufen ist, wird nämlich kein Logfile angelegt).
Es soll daher das aktuelle Datum vom Rechner mit den Datumseinträgen im Logfile verglichen werden, wenn im Logfile kein aktuelles Datum drinsteht, möchte ich mit mit "Blat" eine Email zusenden lassen.
Ich hoffe, ich konnte mich verständlich ausdrücken.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155228
Url: https://administrator.de/forum/batch-soll-datum-aus-file-auslesen-155228.html
Ausgedruckt am: 12.04.2025 um 08:04 Uhr
8 Kommentare
Neuester Kommentar
habe erstmal einen groben ansatz:
und in der datei kannst du dann mit
gruß michael
rem getestet auf einem windows 7 ultimate 64bit
rem @echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set sekunden=%time:~-5,2%
set minuten=%time:~-8,2%
set stunden=%time:~-11,2%
forfiles /p "C:\Temp" -D %tag%.%monat%.%jahr% /C "cmd /c echo @fname ist seit dem %tag%.%monat%.%jahr% neu"
pause
und in der datei kannst du dann mit
findstr
suchengruß michael
moin zusammen,
dazu genügt nur eine ProduktivZeile
[Edit] && mit Oder ausgetauscht [/Edit]
Gruß Phil
dazu genügt nur eine ProduktivZeile
@echo off&setlocal
set "mailadr=name@domain.de"
set "mailLogin=Zugang"
set "mailpw=PW"
set "server=mail.domain.net"
set "To=name@domain.de"
set subject="Keine aktuelle Sicherung vom %date% vorhanden"
set body="Tagessicherung für %date% nachholen!"
dir I:\logs\* /a-d /tc|findstr /b /c:"%date%" >nul || blat -subject %subject% -body %body% -to %to% -server %server% -f %mailadr% -u %mailLogin% -pw %mailpw%
[Edit] && mit Oder ausgetauscht [/Edit]
Gruß Phil
Hallo chavez089 und willkommen im Forum!
Wenn Du tatsächlich nur auf die Inhalte des Logfiles abstellen willst und nach einer Datei vom Typ "eup" mit heutigem Datum suchst, dann als Zeile 10 etwas in der Art (ungetestet):
Grüße
bastla
Wenn Du tatsächlich nur auf die Inhalte des Logfiles abstellen willst und nach einer Datei vom Typ "eup" mit heutigem Datum suchst, dann als Zeile 10 etwas in der Art (ungetestet):
findstr /e "\.eup" "D:\Das Logfile.log"|findstr /b "%date%" || blat -subject %subject% -body %body% -to %to% -server %server% -f %mailadr% -u %mailLogin% -pw %mailpw%
bastla
ich habe es jetzt so gemacht:
hier wirt in der datei auch nochmal das datum gesucht.
gruß michael
@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set sekunden=%time:~-5,2%
set minuten=%time:~-8,2%
set stunden=%time:~-11,2%
forfiles /p "C:\Temp" /M *2.txt -D %tag%.%monat%.%jahr% /C "cmd /c findstr /B /M %tag%.%monat%.%jahr% @file || echo "wurde nicht gefunden oder deine mail"
pause
gruß michael