Per batch 3 backup-generationen verwalten - ältesten Ordnerinhalt löschen
Hallo,
ich habe ein einfaches batch gebastelt um ein Paragon-Backup-Script mit dem Paragon eigenen script.exe zu starten. Daraufhin startet Paragon-Backup mit den im Paragon-Script eingestellten Parametern.
Ich würde gerne in meinem Bacth feststellen welches das älteste Backup von 3 Generationen ist um dieses aus Platzgründen zu löschen bevor das neue geschrieben wird.
meine Batch-datei sieht folgendermassen aus:
@echo off
echo.
echo. Bitte stellen Sie sicher das die externe Festplatte angeschlossen
echo. und in Betrieb ist !
echo.
echo. Wenn alles ok ist bitte eine beliebige Taste druecken...
echo. ...dann beginnt die Sicherung nach einigen Sekunden
echo.
echo. Abbrechen mit CTRL+C
pause
cd \
"C:\Program Files\Paragon Software\Backup and Recovery 2014 Free\program\scripts.exe" --rebootonconfirm -Wno --graph --multiple "C:\temp\one-click-backup.psl"
exit
und hier ein Auszug aus dem Paragon-Script one-click-backup.psl
Laufwerk sichern
print "Laufwerk sichern"
print ""
img = "Y:/Paragon-Backup-01/arc_210616102356494/arc_210616102356494_$(YEAR)_$(MONTH)$(DAY).pbf"
select disk "FDB9E51E"
select partitions all
options
cmp = 10
noarcfiles
checkoverwrite
label = "Kein Kommentar eingegeben"
autonames
hotbackup lockimpossible
tempdrive C
usevss
index = "Y:/Paragon-Backup-01/arc_210616102356494/arc_210616102356494_$(YEAR)_$(MONTH)$(DAY).pfi"
store
Check for errors
call check_error
den Namen arc_210... hat Paragon beim erstellen des Scripts so definiert, ich weiss auch nicht ob man den ändern darf. Y:/ ist eine externe Festplatte.
Es müsste also vom Verzeichniss 'Paragon-Backup-01' das 01 als Parameter bis 03 bei jedem erfolgreichen Batchaufruf generiert werden (die Verzeichnisse ...Backup-01 bis 03 werden vorher leer angelegt) und es müsste überprüft werden welches Backupverzeichniss das älteste arc_2106... Archiv enthält um dieses zu löschen bevor das neue Archiv angelegt wird.
Ein einfaches umbenennen der Verzeichnisse würde meiner Meinung nach nichts bringen weil Paragon den archiv-Dateinamen ja immer mit dem aktuellen Datum versieht.
Ich wäre sehr froh wenn mir jemand bei dieser Aufgabe helfen könnte, dann könnten meine Freunde (die noch weniger Ahnung von sowas haben als ich) denen ich ein Backup anempfohlen habe das künftig ohne mein zutun machen
vielen Dank für Eure Mühe im Voraus
ich habe ein einfaches batch gebastelt um ein Paragon-Backup-Script mit dem Paragon eigenen script.exe zu starten. Daraufhin startet Paragon-Backup mit den im Paragon-Script eingestellten Parametern.
Ich würde gerne in meinem Bacth feststellen welches das älteste Backup von 3 Generationen ist um dieses aus Platzgründen zu löschen bevor das neue geschrieben wird.
meine Batch-datei sieht folgendermassen aus:
@echo off
echo.
echo. Bitte stellen Sie sicher das die externe Festplatte angeschlossen
echo. und in Betrieb ist !
echo.
echo. Wenn alles ok ist bitte eine beliebige Taste druecken...
echo. ...dann beginnt die Sicherung nach einigen Sekunden
echo.
echo. Abbrechen mit CTRL+C
pause
cd \
"C:\Program Files\Paragon Software\Backup and Recovery 2014 Free\program\scripts.exe" --rebootonconfirm -Wno --graph --multiple "C:\temp\one-click-backup.psl"
exit
und hier ein Auszug aus dem Paragon-Script one-click-backup.psl
Laufwerk sichern
print "Laufwerk sichern"
print ""
img = "Y:/Paragon-Backup-01/arc_210616102356494/arc_210616102356494_$(YEAR)_$(MONTH)$(DAY).pbf"
select disk "FDB9E51E"
select partitions all
options
cmp = 10
noarcfiles
checkoverwrite
label = "Kein Kommentar eingegeben"
autonames
hotbackup lockimpossible
tempdrive C
usevss
index = "Y:/Paragon-Backup-01/arc_210616102356494/arc_210616102356494_$(YEAR)_$(MONTH)$(DAY).pfi"
store
Check for errors
call check_error
den Namen arc_210... hat Paragon beim erstellen des Scripts so definiert, ich weiss auch nicht ob man den ändern darf. Y:/ ist eine externe Festplatte.
Es müsste also vom Verzeichniss 'Paragon-Backup-01' das 01 als Parameter bis 03 bei jedem erfolgreichen Batchaufruf generiert werden (die Verzeichnisse ...Backup-01 bis 03 werden vorher leer angelegt) und es müsste überprüft werden welches Backupverzeichniss das älteste arc_2106... Archiv enthält um dieses zu löschen bevor das neue Archiv angelegt wird.
Ein einfaches umbenennen der Verzeichnisse würde meiner Meinung nach nichts bringen weil Paragon den archiv-Dateinamen ja immer mit dem aktuellen Datum versieht.
Ich wäre sehr froh wenn mir jemand bei dieser Aufgabe helfen könnte, dann könnten meine Freunde (die noch weniger Ahnung von sowas haben als ich) denen ich ein Backup anempfohlen habe das künftig ohne mein zutun machen
vielen Dank für Eure Mühe im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 364995
Url: https://administrator.de/forum/per-batch-3-backup-generationen-verwalten-aeltesten-ordnerinhalt-loeschen-364995.html
Ausgedruckt am: 19.05.2025 um 17:05 Uhr
6 Kommentare
Neuester Kommentar

Batch
Powershell
Feeeedich.
Gruß snap
@echo off
for /f "delims=" %%a in ('dir /b /ad /o-d "Y:\Paragon-Backup-*"') do set "oldest=%%a"
rd "%oldest%" /s /q
gci "Y:\Paragon-Backup-*" -Directory | sort CreationTime -Desc | Select -Skip 2 | remove-item -recurse -force
Gruß snap
Hallo
Oder so
!!ungetestet!!
Skip = 2 bedeutet, dass 2 Verzeichnisse stehen gelassen werden (übersprungen), und der Rest wird gelöscht
Wenn getestet, nur noch das Echo in der Zeile löschen und gut ist
Gruss
Oder so
for /f "skip=2 delims=" %%a in ('dir "Y:\Paragon-Backup-*" /a:d /b /o-d') do echo rmdir /s /q "%%a"
!!ungetestet!!
Skip = 2 bedeutet, dass 2 Verzeichnisse stehen gelassen werden (übersprungen), und der Rest wird gelöscht
Wenn getestet, nur noch das Echo in der Zeile löschen und gut ist
Gruss