Sonntag, 25.09.2016 (CEST) um 02:17 Uhr
www.windowspage.de Werbungnotebooksbilliger.de
News:
Herzlich Willkommen bei Windowspage. Alles rund um Windows.

Tipps - Dateien die älter als X-Tage sind per Befehl / Skript löschen
Detailbeschreibung
Betriebssystem: Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 7, Window 8

Während der Verwendung des Betriebssystems und der Anwendungen werden viele Daten auf der Festplatte (zwischen-) gespeichert. Dies können vom Benutzer bestätigten Daten sein wie z. B. Downloads, Textdokumente oder Musik aber auch automatische Aktualisierungen / Speicherungen von Programmen. Mit der von Windows ausgelieferten Datenträgerbereinigung können zwar bestimmte Bereiche bereinigt werden, oftmals ist dies jedoch nicht ausreichend.
Um in einem Verzeichnis alle Dateien zu löschen, die älter als ein bestimmtes Datum bzw. älter als eine bestimmte Anzahl an Tagen sind, können verschiedene Techniken / Möglichkeiten verwendet werden. Zur Automatisierung können die nachfolgenden Skripte und Befehle auch als Task in die Aufgabenplanung bzw. "Geplante Tasks" hinzugefügt werden. So werden z. B. einmal täglich alte Daten gelöscht.

So geht's (VisualBasic-Skript):

  • Öffnen Sie einen Texteditor. Z. B.:"notepad.exe"
  • Als Inhalt geben Sie folgenden Zeilen ein:
    DIM today, olddate, days, dir

    ' Hier an die eigenen Bedürfnisse anpassen
    days = 30
    dir = "C:\Windowspage"

    'Skript-Routine
    today = FormatDateTime(Date, 2)
    olddate = DateAdd("d", "-" & days, today)

    SET objFS = CreateObject("Scripting.FilesystemObject")
    SET myFolder = objFS.GetFolder(dir)
    SET myFiles = myFolder.Files

    FOR EACH myfile IN myFiles
    IF myFile.DateCreated < olddate THEN
      myFile.Delete
    END IF
    NEXT
  • Passen Sie die Anzahl (days) der Tage und das Verzeichnis (dir) noch an die eigene Umgebung an.
  • Speichern Sie die Datei mit der Erweiterung ".vbs" unter einem beliebigen Namen ab.
  • Starten Sie das Skript mit einem Doppelklick.

So geht's (PowerShell ab Windows XP):

  • "Start" > ("Programme") > "Zubehör" > "Windows PowerShell" > "Windows PowerShell"
  • PowerShell Version 2.0:
    • Als Befehl geben Sie Get-ChildItem -Path "[Verzeichnis]" -Recurse | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-[Tage])} | Remove-Item ein. Ersetzen Sie "[Verzeichnis]" durch das entsprechende Verzeichnis und "[Tage]" durch die Anzahl der Tage nachdem eine Datei als veraltet gilt und gelöscht werden soll. Z. B.:
      Get-ChildItem -Path "C:\Windowspage" -Recurse | Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-30)} | Remove-Item
  • PowerShell Version 3.0:
    • Als Befehl geben Sie Get-ChildItem -Path "[Verzeichnis]" -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-[Tage]) | Remove-Item ein. Ersetzen Sie "[Verzeichnis]" durch das entsprechende Verzeichnis und "[Tage]" durch die Anzahl der Tage nachdem eine Datei als veraltet gilt und gelöscht werden soll. Z. B.: Get-ChildItem -Path "C:\Windowspage" -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-30) | Remove-Item
  • Drücken Sie die Eingabetaste.

Windows PowerShell

So geht's (Befehlsscript ab Windows Vista):

  • "Start" > ("Programme") > "Zubehör" > "Eingabeaufforderung" (oder "cmd.exe" starten)
  • Als Befehl geben Sie forfiles /p "[Verzeichnis]" /s /m *.* /d -[Tage] /c "cmd /c del @path" ein. Ersetzen Sie dabei "[Verzeichnis]" durch das entsprechende Verzeichnis und "[Tage]" durch die Anzahl der Tage nachdem eine Datei als veraltet gilt und gelöscht werden soll. Z. B.:
    forfiles /p "C:\Windowspage" /s /m *.* /d -30 /c "cmd /c del @path"
  • Drücken Sie die Eingabetaste.

Eingabeaufforderung

Parameter: Kurzbeschreibung:
/C Befehl Bestimmt den auszuführenden Befehl. Z. B. "del" für löschen oder "echo" für anzeigen.
/D Wählt die Dateien mit dem angegebenen Änderungsdatum aus. Es kann ein Datum oder die Anzahl der Tage angegeben werden. Größer oder gleich (+), weniger oder gleich (-).
/M Legt die Suchmaske fest. Z. B.: "*.*" für alle Dateien, "*.txt" für alle Textdateien.
/P Bestimmt das Verzeichnis in dem gesucht bzw. gefiltert werden soll.
/S Durchsucht alle Verzeichnisebenen im angegeben Verzeichnis
/? Ruft die Hilfe zum Befehl auf und zeigt weitere Beispiele an.

Hinweise:

  • Beim Löschvorgang werden die Dateien direkt gelöscht und nicht in den Papierkorb verschoben. Eine Wiederherstellung ist daher nur bedingt wieder möglich.
  • Alle Skripte und Befehle können natürlich weiter ergänzt, angepasst und in weiteren Skripten verwendet werden.

Windowspage - Weitere interessante Tipps und Einstellungen
Tipps für Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 7, Window 8
Statistik
Valid HTML 4.01 Transitional  CSS ist valide!