@echo off
for /d /r %1 %%A in (.) do (
dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
Yukarıdaki çözüm Gizli klasörleri yoksayar. FOR ile birlikte/D ve/R seçeneklerinin her zaman bir sorunla karşılaşmamasına rağmen, bu nedenle etiketli olduğu söylendi.
@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
)
/D/R Gizli klasörler içerecektir İÇİN kaçınır 2 çözüm. Ancak, klasör adlarının Unicode içermesi durumunda başarısız olabileceğine inanıyorum.
Kontrol Bu tartışma: [ "Nasıl boş dizinleri listelemek için"] (http://groups.google.com/group/alt.msdos.batch.nt/browse_thread/thread/eec723b8096005b5/6416b835f5fca5d1?pli=1) –
[MarkEmptyDirs] (https://code.google.com/p/markemptydirs/) adında bir araç olduğunu öğrendim. İşte örnek kullanım sözdizimi: MarkEmptyDirs.exe -d -v C: \ Bazı \ Dir –