Ich bin jetzt ein neuer "Frischling" in diesem Forum, also korrigiert mich bitte, fals ich etwas falsch mache.
Ich hatte letztens die Idee eine Batch zu programmieren, die alle leeren Ordner findet und evt. auch löschen sollte (je nachdem wo sich die Ordner befinden).
@echo off mode con cols=102 lines=50 title EmptyDirectoriesDeleter setlocal EnableExtensions EnableDelayedExpansion color a cls set empty=0 cd C:\ set alldirectories=0 echo Scanning for /f %%a in ('dir /s /b /ad') DO ( set /a alldirectories=!alldirectories!+1 ) echo Initalizing for /l %%b in (1,1,100) DO ( set b=%%b set /a a!b!=!alldirectories!/!b! ) set scanneddirectories=0 echo Second Scanning for /f %%i in ('dir /s /b /ad') DO ( set /a scanneddirectories=!scanneddirectories!+1 for /l %%c in (1,1,100) DO ( set c=%%c set int=a+%%c if %int% GEQ !scanneddirectories! ( set b!c!=² ) else ( set b!c!=° ) ) cls echo ³!b1!!b2!!b3!!b4!!b5!!b6!!b7!!b8!!b9!!b10!!b11!!b12!!b13!!b14!!b15!!b16!!b17!!b18!!b19!!b20!!b21!!b22!!b23!!b24!!b25!!b26!!b27!!b28!!b29!!b30!!b31!!b32!!b33!!b34!!b35!!b36!!b37!!b38!!b39!!b40!!b41!!b42!!b43!!b44!!b45!!b46!!b47!!b48!!b49!!b50!!b51!!b52!!b53!!b54!!b55!!b56!!b57!!b58!!b59!!b60!!b61!!b62!!b63!!b64!!b65!!b66!!b67!!b68!!b69!!b70!!b71!!b72!!b73!!b74!!b75!!b76!!b77!!b78!!b79!!b80!!b81!!b82!!b83!!b84!!b85!!b86!!b87!!b88!!b89!!b90!!b91!!b92!!b93!!b94!!b95!!b96!!b97!!b98!!b99!!b100!³ echo. echo Scanned Directories: !scanneddirectories! echo Empty Directories: !empty! echo. echo All Directories: !alldirectories! cd "%%i" dir | find "0 Datei(en)" >nul if %ERRORLEVEL%==0 ( dir | find "2 Verzeichnis(se)" >nul if ERRORLEVEL 1 ( echo %%i >> %userprofile%\Desktop\empty_directories.txt set /a empty=!empty!+1 ) ) ) cls del %userprofile%\Desktop\empty_directories.txt echo !empty! leere Verzeichnisse wurden gefunden pause
Fals ich was falsch geschrieben haben sollte, beachtet es einfach nicht.
Das Programm stoppt aber immer bei:
if %int% GEQ !scanneddirectories!
Grund: "!scanneddirectories!" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
2. Grund: Die Variable "int" hat keinen Wert.
Danke für jede Hilfe schonmal im Voraus