Batch Befehl ausführen wenn Datei älter als X Tage
Hallo zusammen,
ich finde immer nur Befehle die Dateien oder Ordner löschen nach x Tagen aber nicht um auf dem Ergebniss einen Befehl auszführen.
Ich hätte gerne ein möglichst kurzen Befehl der überprüft ob ein Ordner oder eine Datei (je nachdem was besser funktioniert) älter als z.B. 30 Tage ist und anschließend einen anderen Befehl ausführt. In etwa so:
If "Pfad" älter als 30 Tage dann wbadmin start backup bla bla
Ideen?
Danke im Voraus
Bugger
ich finde immer nur Befehle die Dateien oder Ordner löschen nach x Tagen aber nicht um auf dem Ergebniss einen Befehl auszführen.
Ich hätte gerne ein möglichst kurzen Befehl der überprüft ob ein Ordner oder eine Datei (je nachdem was besser funktioniert) älter als z.B. 30 Tage ist und anschließend einen anderen Befehl ausführt. In etwa so:
If "Pfad" älter als 30 Tage dann wbadmin start backup bla bla
Ideen?
Danke im Voraus
Bugger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274415
Url: https://administrator.de/contentid/274415
Ausgedruckt am: 04.12.2024 um 08:12 Uhr
14 Kommentare
Neuester Kommentar
Dateien per Batch löschen, älter als X Tage
den gewünschten Befehl kannst du hinten dran einfach austauschen ...
Gruß jodel32
den gewünschten Befehl kannst du hinten dran einfach austauschen ...
Gruß jodel32
Ich verwende DELAGE. zum löschen nach Tagen, das script gibt es auch mit entsprechenden Parameter für "move"
http://www.horstmuc.de/wbat32d.htm
http://www.horstmuc.de/wbat32d.htm
Zitat von @xbast1x:
Ich verwende DELAGE. zum löschen nach Tagen, das script gibt es auch mit entsprechenden Parameter für "move"
http://www.horstmuc.de/wbat32d.htm
Ich verwende DELAGE. zum löschen nach Tagen, das script gibt es auch mit entsprechenden Parameter für "move"
http://www.horstmuc.de/wbat32d.htm
Typischer fall von "Frage nicht gelesen".
THEMAVERFEHLUNG! SETZEN! 6!
@Snowman25, ein bisschen gereizt?
Ein einfaches "lies dir die Frage nochmal druch" hätte es auch getan.
Damit hilfst du niemanden, sowas gehört sich nicht! Nur weil Freitag ist brauchst du dich hier nicht so auf zu spielen!
und @Bugger, wie jodel schon geschrieben hat, einfach den Befehl hinten anfügen dann klappt das auch.
Liebe Grüße
ITvortex
Ein einfaches "lies dir die Frage nochmal druch" hätte es auch getan.
Damit hilfst du niemanden, sowas gehört sich nicht! Nur weil Freitag ist brauchst du dich hier nicht so auf zu spielen!
und @Bugger, wie jodel schon geschrieben hat, einfach den Befehl hinten anfügen dann klappt das auch.
Liebe Grüße
ITvortex
Zitat von @Bugger:
Tausche ich "cmd /c del /q @path" komplett aus durch "wbadmin" oder muss das cmd /c stehen bleiben?
Tausche ich "cmd /c del /q @path" komplett aus durch "wbadmin" oder muss das cmd /c stehen bleiben?
forfiles.exe /P "C:\Pfad" /S /M *.* /D -3 /C "cmd /c wbadmin ........."
Zitat von @Bugger:
Danke für die Antwort,
Tausche ich "cmd /c del /q @path" komplett aus durch "wbadmin" oder muss das cmd /c stehen bleiben?
Danke für die Antwort,
Tausche ich "cmd /c del /q @path" komplett aus durch "wbadmin" oder muss das cmd /c stehen bleiben?
cmd /c muss stehen bleiben. Du musst ja die shell auch ausführen
"/c" bedeutet das der Befehl ausgeführt wird und danach beendet wird.
Liebe Grüße
ITvortex
PS: ich seh grade jodel hat das schon geschrieben...
Ich glaub du verstehst den Befehl wbadmin nicht, der sichert bei dir nicht die durch forfiles gewählten Dateien sondern ganze Partitionen, und das jedes mal für jede Datei, Kopfschütttel !!
Du weißt aber schon das der Befehl für jede Datei ausgeführt wird die älter als 30 Tage ist. Wenn da also zwei davon sind wird auch zweimal ein Backup angestoßen (vermutlich nicht was du willst):
Hier geht es mit der Zeile einwandfrei ohne Fehler, da muss also bei dir irgendwo in einem Pfad ein Zeichen drin sein was forfiles nicht so gefällt.
Machs alternativ mit Powershell:
Hier geht es mit der Zeile einwandfrei ohne Fehler, da muss also bei dir irgendwo in einem Pfad ein Zeichen drin sein was forfiles nicht so gefällt.
Machs alternativ mit Powershell:
$oldfiles = gci "C:\Ordner\*.*" -recurse | ?{$_.LastWriteTime -lt (get-date).AddDays(-30)}
if ($oldfiles){
wbadmin ........
}