Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Batchscript zum automatischen Löschen von Dateien

  Alt 21. Mai 2019, 20:32
Ausgangssituation:
Code:
2019-05-10 13-41
2019-05-18 13-41
2019-05-21 13-41
Mit
Code:
@echo off
set RETAINBACKUPS=1
set BACKUPDIR=D:\

if not exist "%BACKUPDIR%" (
    echo.
    echo "%BACKUPDIR%" existiert nicht.
    echo.
    pause
    goto :EOF
)

rem freien Speicherplatz anzeigen
for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i
echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB
echo.

rem alte Backups loeschen
choice /M "Alte Sicherung(en) loeschen?" /C JN
if %ERRORLEVEL% == 1 goto DEL_OLDEST
if %ERRORLEVEL% == 2 goto DO_BACKUP

:DEL_OlDEST
echo Loesche alte Sicherungen...
echo.

for /F "skip=%RETAINBACKUPS% delims=" %%F IN ('dir /B /AD-r-s-h /O-D 2*.* "%BACKUPDIR%" 2^>NUL') DO (
    echo rmdir /S /Q "%BACKUPDIR%\%%F"
)

pause
...bekomme ich:
Code:
Freier Speicherplatz auf Laufwerk D: 833 GB

Alte Sicherung(en) loeschen? [J,N]?J
Loesche alte Sicherungen...

rmdir /S /Q "D:\\2019-05-18 13-41"
rmdir /S /Q "D:\\2019-05-10 13-41"
rmdir /S /Q "D:\\2019-05-10 13-41"
rmdir /S /Q "D:\\2019-05-21 13-41"
rmdir /S /Q "D:\\2019-05-21 13-41"
Drücken Sie eine beliebige Taste . . .
Ächtz.

Er soll fünf behalten, es sind drei vorhanden und er will die neuste Sicherung zwei mal löschen.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (21. Mai 2019 um 20:38 Uhr)
  Mit Zitat antworten Zitat