Menü schliessen
Created: April 2nd 2012
Last updated: May 1st 2020
Categories: IT Support,  Windows 7
Author: Marcus Fleuti

Automatisches Löschen alter Windows 7 Sicherungen (Sichern und Wiederherstellen) auf Netzwerklaufwerken - Automatically delete old Windows Backups on network drives (shares)

Donation Section: Background
Monero Badge: QR-Code
Monero Badge: Logo Icon Donate with Monero Badge: Logo Text
82uymVXLkvVbB4c4JpTd1tYm1yj1cKPKR2wqmw3XF8YXKTmY7JrTriP4pVwp2EJYBnCFdXhLq4zfFA6ic7VAWCFX5wfQbCC

Das Problem

Die Microsoft Windows 7 Sicherung (Sichern und Wiederherstellen) löscht keine alten Sicherung, sofern die Sicherung auf ein Netzwerklaufwerk konfiguriert wurde. Dieser Prozess kann allerdings sehr einfach mit folgendem Skript (Batch-File) und dem Windows Aufgabenplaner automatisiert werden:

Die Lösung

1. Erstellen einer .CMD-Datei und einfügen des folgenden Codes:

@echo off
rem *** pathToBackupFiles ********************************************************************************************************************
rem This describes the full path to your Windows backup files.
rem
rem Example:
rem If you have set the path to the files to \\nas-storage\backups\myname-PC you would need
rem to enter this path PLUS the PC name. This is where the backup files are stored.
rem Unfortunately the command FORFILES does not support UNC paths which means that you will have
rem to map the UNC path to a network drive first. You can do this by using the command "net" like this:
rem
rem -----> net use b: \\nas-storage\backups\myname-PC\MYNAME-PC (where b: is a variable network drive letter)
rem
rem Please double check the path before running the script. The code line for simulating the deletion is
rem enabled by default. In order to enable the file deletion you will have to uncomment the line for real deletion
rem
rem -----> REMEMBER: YOUR FILES WILL BE DELETED PERMANENTLY WITHOUT FURTHER PROMPTING
rem ******************************************************************************************************************************************

set pathToBackupFiles=b:\myname-PC\MYNAME-PC
set dayToKeepBackups=20

rem *** Enable this for simulating file deletion (dry-run) ***********************************************************************************
FORFILES -P %pathToBackupFiles% /D -%dayToKeepBackups% /C "cmd /c IF @isdir == TRUE (echo Deleting @file ... && echo File deletion...)"
pause
rem *** do the real deletion *****************************************************************************************************************
rem FORFILES -P %pathToBackupFiles% /D -%dayToKeepBackups% /C "cmd /c IF @isdir == TRUE (echo Deleting @file ... && rd /S /Q @path)"

Alternativ kann die Datei hier heruntergeladen werden (in .cmd umbenennen)

2. Erstellen eines automatischen Tasks im Windows Aufgabenplaner

    1. Klick auf START (Startmenü öffnen)
    2. Im Suchfeld des Startmenüs das Wort "Aufgaben" eingeben und das Programm "Aufgabenplanung" starten
    3. Im Linken Feld auf den Hauptordner "Aufgabenplanungsbibliothek" klicken
    4. Im Rechten Feld unter "Aktionen" auf "Einfache Aufgabe erstellen" klicken
    5. Den Assistenten für das Erstellen einer Aufgabe durchackern. Empfehlungen:
      1. Name: Löschen alter Sicherungen
      2. Beschreibung: leer lassen
      3. Aufgabe starten: täglich
      4. Startdatum / Uhrzeit nach belieben
      5. Aktion ausführen: Programm starten
      6. Programm / Skript: Den Pfad zur .CMD-Datei angeben (darauf achten, dass diese die Endung .CMD hat, da sie sonst nicht ausgeführt wird)
      7. Argumente hinzufügen: leer lassen

Starten in (optional): leer lassen

  1. Task manuell ausführen und Ausgabe prüfen (Dry-Run bzw. Simulation aktiv -> Es wird angezeigt, welche Ordner gelöscht würden)
  2. Dry-Run bzw. Simulation deaktivieren, indem vor die entsprechenden Zeilen ein REM vorangesetzt wird.
  3. Die "real deletion" aktivieren indem das REM vor der entsprechenden Zeile entfernt wird.
  4. Nicht vergessen die Variable dayToKeepBackups anzupassen. Empfehlung: 60 Tage. 60 Tage bedeutet dabei, dass alle Sicherungen die älter als 60 Tage sind gelöscht werden.

Starten des Skripts über die Windows Aufgabenplanung

Siehe hierzu folgenden Artikel in unserer Knowledge Base