Hallo,
in einem BackupOrdner liegen mit Robocopy erstellte Backups. Die Backups sind Ordner wie 15.06.2015, 14.6.2015, 13.6.2015 die dann die eigenltichen Sicherungsdateien für den Tag enthalten.
Ich möchte nun ein Script haben, das sobald mehr als 40 Ordner in der Backupdestination sind die X ältesten Ordner löscht, damit ich wieder 40 in dem Ordner habe.
Aus dem Web hatte ich folgendes erfahren:
was aber nicht funktioniert - das Script hat jeden Ordner (Zum Glück im Testordner) gelöscht....
in einem BackupOrdner liegen mit Robocopy erstellte Backups. Die Backups sind Ordner wie 15.06.2015, 14.6.2015, 13.6.2015 die dann die eigenltichen Sicherungsdateien für den Tag enthalten.
Ich möchte nun ein Script haben, das sobald mehr als 40 Ordner in der Backupdestination sind die X ältesten Ordner löscht, damit ich wieder 40 in dem Ordner habe.
Aus dem Web hatte ich folgendes erfahren:
Code:
set Pf_ZielBackup=H:\test
echo off
Setlocal EnableDelayedExpansion
set "_count=0"
rem count the files
for /f "tokens=*" %%a in ('dir %Pf_ZielBackup% /a:d /b /o:d') do @(set /a _count+=1 >nul)
echo !_count! directories found
rem delete _count-30 files
for /f "tokens=*" %%a in ('dir %Pf_ZielBackup% /a:d /b /o:d') do (
set /a _count-=1
echo directory !_count! is %Pf_ZielBackup%\%%a
rd/s /q %Pf_ZielBackup%\%%a
if "!_count!"=="30" (
goto :done
)
)
:done
pause
was aber nicht funktioniert - das Script hat jeden Ordner (Zum Glück im Testordner) gelöscht....