Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
AW: Batchscript zum automatischen Löschen von Dateien
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)
|