NUR das Datum einer Datei auslesen
Habe mich jetzt mehrere Stunden mit dem Suchen beschäftigt und leider zwar immer mal was gefunden, aber nicht das was ich brauche.
Es ist wahrscheinlich sehr simple, aber ich komme einfach nicht zur Lösung.
Ich möchte eine Batchdatei erstellen, die nur dann ausgeführt wird, wenn eine bestimmte Datei älte als 4 Wochen ist.
Ist das mit einer Batchdatei überhaupt möglich?
danke schon mal für Eure Hilfe
Es ist wahrscheinlich sehr simple, aber ich komme einfach nicht zur Lösung.
Ich möchte eine Batchdatei erstellen, die nur dann ausgeführt wird, wenn eine bestimmte Datei älte als 4 Wochen ist.
Ist das mit einer Batchdatei überhaupt möglich?
danke schon mal für Eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85536
Url: https://administrator.de/contentid/85536
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo tony-mh und willkommen im Forum!
Leichter geht's unter Verwendung von (temporärem) VBScript:
Wenn Du in der "for /f"-Zeiile nach "%Von%" eine Leerstelle und ein weiteres Datum angibst, wird die Differenz zwischen diesen beiden Daten berechnet, ansonsten wird das in %Von% enthaltene Datum mit dem heutigen verglichen. In beiden Fällen steht anschließend in %Alter% das Alter in Tagen.
Falls das Alter der Datei unter 4 Wochen liegt, wird der Batch beendet, ansonsten können anstelle der als Demo verwendeten Ausgabe "Mehr als 4 Wochen" beliebige Befehle folgen.
Grüße
bastla
Ist das mit einer Batchdatei überhaupt möglich?
Grundsätzlich ja - allerdings, wenn's nur Batch sein soll, eher mühsam.Leichter geht's unter Verwendung von (temporärem) VBScript:
@echo off & setlocal
set "Datei=D:\Timestamp.txt"
:: Script erzeugen
set "DD=%temp%\GetDateDiff.vbs"
echo Set args=WScript.Arguments:If args.Count^>1 Then:Bis=args(1):Else:Bis=Date:End If:WScript.Echo DateDiff("d",args(0),Bis)>%DD%
:: Dateidatum auslesen
for %%i in ("%Datei%") do set "Von=%%~ti"
:: Tagedifferenz berechnen
for /f %%i in ('cscript //nologo %DD% "%Von%"') do set /a "Alter=%%i"
:: Auswertung
if %Alter% leq 28 goto :eof
echo Mehr als 4 Wochen ...
Falls das Alter der Datei unter 4 Wochen liegt, wird der Batch beendet, ansonsten können anstelle der als Demo verwendeten Ausgabe "Mehr als 4 Wochen" beliebige Befehle folgen.
Grüße
bastla