Deine Verzeichnisse fangen doch alle irgendwie mit 2 an (Jahreszahl).
Ergänze mal das Dir um 2*.*, damit die anderen Verzeichnisse nicht mit ausgegeben werden, davon willst Du ja auch (höchstwahrscheinlich) nix löschen.
Ein im realen Leben ausgeführtes
Code:
rmdir /S /Q "D:\\System Volume Information"
käme vermutlich nicht so gut
Eventuell
Code:
@echo off
rem Anzahl der Verzeichnisse, die uebrig bleiben sollen?
set RETAINBACKUPS=15
rem ohne Backslash am Ende, der wird später mit den Verzeichnisnamen angehängt.
set BACKUPDIR=D:
if not exist "%BACKUPDIR%" (
echo.
echo "%BACKUPDIR%" existiert nicht.
echo.
pause
goto :EOF
)
pause
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
rem freien Speicherplatz anzeigen
rem for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i
rem echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB
pause