Erstellen Sie in Windows 7 einen Ordner, in dem Dateien nach einem bestimmten Zeitraum automatisch gelöscht werden

371
Mihai

Ich hätte gerne einen Ordner, in dem Sie Artikel für den vorübergehenden Gebrauch ablegen können. Nach einer bestimmten Zeit würden sie gelöscht

Ist das in Windows 7 möglich?

Ich habe vielleicht eine Art durch .bat Datei beim Start durch? Ich würde es aber lieber ohne Neustart machen.

Kann eine Aufgabe geplant werden, um die gewünschte Wirkung zu erzielen?

0
Die Verwendung eines Cronjobs oder einer geplanten Aufgabe (in der Windows-Welt) würde das Problem lösen, ohne von Start oder Anmeldung abhängig zu sein. Ist ein einzelnes Dateialter für das automatische Löschen für den gesamten Ordner für Sie ausreichend? pabouk vor 10 Jahren 0
@pabouk Sicher, solange das Erstellungsdatum angelegt ist, also das Datum, an dem ich es in den entsprechenden Ordner verschiebe. Ich laufe jetzt mit der Wmz-Lösung, und es funktioniert nur, dass es das geänderte Datum berücksichtigt. Mihai vor 10 Jahren 0

1 Antwort auf die Frage

3
wmz

Sie können forfiles zum Auflisten und Verarbeiten von Dateien verwenden, die nicht länger als (oder seit dem Datum) geändert wurden (wie auf der verlinkten MS-Seite gezeigt - dies würde sie einfach auflisten).

forfiles /s /m *.* /d -365 /c "cmd /c echo @file is at least one year old."

Nachdem Sie sich vergewissert haben, dass es so funktioniert, wie Sie es möchten, legen Sie es in eine Batch-Datei und planen Sie es mit dem Taskplaner (oder verwenden schtasksSie, wenn Sie die Befehlszeile bevorzugen).

[Bearbeiten]

Wenn das Erstellungsdatum (keine Änderung) erforderlich ist, würde ich auf Powershell zurückgreifen: Dieser Liner erhält und druckt alle Dateien, die vor 365 Tagen erstellt wurden.
Bitte beachten Sie, dass es keine Zeiten von Datumsangaben entfernt (der Vergleich erfordert nicht nur das Datum, sondern auch den Zeitpunkt der Erstellung und die Uhrzeit, zu der es ausgeführt wird)!

powershell -command "gci |? {$_.CreationTime -lt (get-date).addDays(-365)} |% "

Um zu löschen anstelle von Liste, ersetzen Sie writemit del
Um die Zeit von Datumsangaben zu (get-date).date entfernen, können Sie auch Ordner von der Verarbeitung ausschließen

Wie kann ich Dateien löschen, die auf dem Erstellungsdatum und nicht auf dem Änderungsdatum basieren, obwohl diese meistens gleich sind? Mihai vor 10 Jahren 0
@Mihai Was du willst (und Datums- und Zeit-Arithmetik) ist in reinem Batch / cmd ziemlich schwierig / problematisch. Während es möglich ist, würde ich Powershell dafür verwenden. Siehe mein Update. wmz vor 10 Jahren 0