Wie lösche ich in Windows regelmäßig Dateien, die älter als ein bestimmter Zeitpunkt sind?

Wie lösche ich in Windows regelmäßig Dateien, die älter als ein bestimmter Zeitpunkt sind?

Ich möchte einen geplanten Prozess in Windows (insbesondere Windows 7) erstellen, der alle 3 Stunden alle Dateien in allen Ordnern löscht, die älter als 24 Stunden sind (wie das Unix-Find -mtime +1). Im Grunde das Windows-Äquivalent dazu, dies in meinem Unix-Cron konfiguriert zu haben:

find $TRANSITDIR -mtime +1 -exec rm -rf {} \;

Obwohl ich anscheinend herausgefunden habe, dass das Windows-Cron-Äquivalent dasPlaner, ich kenne einfach die Windows-Befehle dafür nicht.

Hat jemand ein einsatzbereites Scheduler-Skript?

Antwort1

Erstellen Sie eine Batchdatei mit folgendem Inhalt:

REM Remove files older than 1 day
forfiles /p %1 /s /m * /c "cmd /c del @path /q" /d -1

Öffnen Sie dann den Windows-Taskplaner. Erstellen Sie eine Basisaufgabe zum Ausführen eines Programms und geben Sie als Argument den Pfad zum Ordner in Anführungszeichen an.

Erklärung der Befehle

REMist ein Kommentar.

forfilesführt für jede Datei einen Befehl aus. /p %1definiert, in welchem ​​Pfad sich die Dateien befinden ( %1bedeutet den Wert des ersten an das Skript übergebenen Befehlszeilenarguments). /sist rekursiv (geht in Unterordner). /m *.*ist die Dateinamenmaske. /c "cmd /c del @path"gibt an, welcher Befehl ausgeführt werden soll. /d -1bedeutet Dateien, die älter als 1 Tag sind.

In diesem Fall cmd /c del @pat /qherstellt eine neue Sitzung und führt del(Datei löschen) auf aus. @pathDer Dateipfad für jede Datei, die von iteriert wird forfiles. /qist für den stillen Modus, sodass esfragt Sie nicht nach einer Bestätigung für Verzeichnisse.

Testen

Ersetzen Sie deles durch echo. Dadurch werden alle Dateien gedruckt, die gelöscht worden wären, statt sie tatsächlich zu löschen.

Antwort2

Nicht unbedingt das, was Sie tun möchten, aber ich würde sagen, dass die automatischen Löschvorgänge von CCleaner eine Überlegung wert sind, wenn es um Windows geht. Ich verwende es, um temporäre Dateien für Windows-Rechner zu finden und zu bereinigen.

Es verfügt über eine eingeschränkte CLIhttp://www.piriform.com/docs/ccleaner/advanced-usage/command-line-parameters#Command-line_parameters_for_CCleaner_

Vorausgesetzt, Sie sind ein Shell-Typ und haben angegeben, dass Sie es für W7 benötigen, können Sie Powershell ausprobieren:

http://www.google.es/search?q=powershell+remove+x+day+older+files

verwandte Informationen