Datum einer Datei mit aktuellem Datum per Batch vergleichen
Hallo Leute,
bin neu im Forum und auch Anfänger was Batch-Dateien angeht. Habe ähnliche Fragen gefunden aber wurde daraus leider nicht schlau, da wie gesagt ich nur ein Anfänger bin.
Zu meinem Problem:
Möchte mehrere Dateien aus verschiedenen Verzeichnissen per Batch-Datei überprüfen ob deren Änderungsdatum mit dem aktuellen Datum übereinstimmt, und falls nicht eine Fehlermeldung ausgeben.
Freue mich über jeden Tip.
bin neu im Forum und auch Anfänger was Batch-Dateien angeht. Habe ähnliche Fragen gefunden aber wurde daraus leider nicht schlau, da wie gesagt ich nur ein Anfänger bin.
Zu meinem Problem:
Möchte mehrere Dateien aus verschiedenen Verzeichnissen per Batch-Datei überprüfen ob deren Änderungsdatum mit dem aktuellen Datum übereinstimmt, und falls nicht eine Fehlermeldung ausgeben.
Freue mich über jeden Tip.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 128984
Url: https://administrator.de/contentid/128984
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo ghostX und willkommen im Forum!
Je nachdem, woher die Liste der Dateien stammt (zB aus einer Textdatei) ist ggf eine diesbezügliche Anpassung vorzunehmen - grundsätzlich aber etwa so:
Anstelle des aktuellen Tagesdatums kann in Zeile 2 auch ein beliebiges anderes Datum (in der Schreibweise, in der es beim "
Grüße
bastla
Je nachdem, woher die Liste der Dateien stammt (zB aus einer Textdatei) ist ggf eine diesbezügliche Anpassung vorzunehmen - grundsätzlich aber etwa so:
@echo off & setlocal
set Dateien="D:\Test\Datei 1.txt","D:\Test\Test2\Alt.txt","D:\Kein Test\Die wichtigste Datei.txt"
set "Vergleich=%date%"
for %%i in (%Dateien%) do if exist %%i (
echo %%~ti|findstr /b "%Vergleich%">nul || echo Abweichendes Datum: %%i
) else (
echo Nicht gefunden: %%i
)
dir
"-Befehl ausgegeben wird) als Vergleichswert eingetragen werden.Grüße
bastla
Hallo ghostX!
Das CMD-Fenster bleibt offen, wenn Du am Ende noch den Befehl "
Grüße
bastla
Das CMD-Fenster bleibt offen, wenn Du am Ende noch den Befehl "
pause
" hinzufügst, allerdings wäre eine Logdatei vermutlich sinnvoller:@echo off & setlocal
set Dateien="D:\Test\Datei 1.txt","D:\Test\Test2\Alt.txt","D:\Kein Test\Die wichtigste Datei.txt"
set "Vergleich=%date%"
set "Log=D:\LogAktuell.txt"
if exist "%Log%" del "%Log%"
for %%i in (%Dateien%) do if exist %%i (
echo %%~ti|findstr /b "%Vergleich%">nul || echo Abweichendes Datum: %%i
) else (
>>"%Log% echo Nicht gefunden: %%i
)
if exist "%Log%" notepad "%Log%"
bastla
Moin ghostX,
dann wird er dir sicherlich die Zeit dafür geben.
Denn eigentlich ist es von der so präzise formulierten Frage unmöglich, nicht auf die Antwort zu kommen...
Zwischen welchen Zeilen wäre es denn überhaupt denkbar (nach welcher Zeile kann es frühestens, vor welcher Zeile muss es spätestens)?
Oder um einen anderen begnadeten Moderator zu zitieren: "Wollen Sie jetzt den Fifty-Fifty-Joker oder lieber das Publikum befragen?"
Grüße
Biber
[/edit] Doch wieder rechts überholt worden... *winks [/edit]
Zitat von @ghostX:
Müsste ich nicht einfach "echo %date" >> %Log" schreiben um das Datum in die Logdatei einzufügen?
An welcher Stelle müsste es stehen?
Kleiner Tipp: wenn bastla davon ausgeht, dass du nach nochmaligem lautem Wiederholen dieser Frage ganz allein darauf kommen wirst,Müsste ich nicht einfach "echo %date" >> %Log" schreiben um das Datum in die Logdatei einzufügen?
An welcher Stelle müsste es stehen?
dann wird er dir sicherlich die Zeit dafür geben.
Denn eigentlich ist es von der so präzise formulierten Frage unmöglich, nicht auf die Antwort zu kommen...
Zwischen welchen Zeilen wäre es denn überhaupt denkbar (nach welcher Zeile kann es frühestens, vor welcher Zeile muss es spätestens)?
Oder um einen anderen begnadeten Moderator zu zitieren: "Wollen Sie jetzt den Fifty-Fifty-Joker oder lieber das Publikum befragen?"
Grüße
Biber
[/edit] Doch wieder rechts überholt worden... *winks [/edit]