代码之家  ›  专栏  ›  技术社区  ›  Andrew Simpson

我需要一个快速删除空文件夹和子文件夹

  •  0
  • Andrew Simpson  · 技术社区  · 5 年前

    @echo off
    setlocal
    
    set TopLevel=%1    
    
    rem process each folder contained in base folder
    for /d %%t in ("%TopLevel%\*.*") do (
        echo Processing '%%~t' ...
        rem Remove any empty folders below this user folder
        for /f "delims=" %%i in ('dir /s /b /ad "%%t" ^| sort /r') do (rd /q "%%~i" >NUL
        )
    )
    

    @回音关闭

    set TopLevel=%1
    
    DEL /Q /F /S %2 >nul 2>&1
    
    pushd "%~1" then for /f "delims=" %%a in ('dir /s /b /ad ^| sort /r') do rd "%%~a"
    

    我的目录结构是:

    yyyy > mm > dd > hh > m1
                        > m2
    
          > mm1 > dd1 > hh1 > m3
    

    因此,如果删除m1和m2,我希望看到剩下的:

    yyyy > mm1 > dd1 > hh1 > m3
    
    0 回复  |  直到 5 年前