@echo off
for /d /r %1 %%A in (.) do (
dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
La soluzione precedente ignora le cartelle nascoste. Mi è stato anche detto che l'uso di entrambe le opzioni/D e/R con FOR è stato risolto, anche se non ho mai avuto un problema con esso.
@echo off
dir /a /b %1 2>nul | findstr "^" >nul || echo %%~fA
for /f "eol=: delims=" %%A in ('dir /s /ad /b %1') do (
dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
La seconda soluzione che evita FOR/D/R include file nascosti. Ma credo che possa fallire se i nomi delle cartelle contengono Unicode.
Controlla questa discussione: ["Come elencare le directory vuote"] (http://groups.google.com/group/alt.msdos.batch.nt/browse_thread/thread/eec723b8096005b5/6416b835f5fca5d1?pli=1) –
Sono stato scoperto che esiste un tool chiamato [MarkEmptyDirs] (https://code.google.com/p/markemptydirs/). Ecco la sintassi di utilizzo di esempio: MarkEmptyDirs.exe -d -v C: \ Some \ Dir –