windows批量刪除當前目錄以及子目錄的所有空文件夾


在桌面創建一個記事本,將以下內容復制粘貼到記事本中,將記事本的拓展名修改為bat即可,然后將該文件放到需要執行的目錄雙擊。

@echo off
 setlocal enabledelayedexpansion
del /q c:\empty_dir
del /q c:\directory.txt
REM 下面的代碼加上sort /r ,表示逆序排列文件夾。子文件夾在前,父文件夾在后。
dir /a:d /b /s "."  | sort /r > "%cd%\directory.txt"
for /f "usebackq delims=" %%i in ("directory.txt") do (
    rem echo "enter dir is: %%i"
    rem cd "%%i"
    rem echo "the bat path is: %~f0" rem print this batfile's whole path.
    echo "cur dir is: "%%i""
    REM 將當前目錄下的所有文件打印到以下文件中:
    dir /a /b "%%i" >"c:\folder_content.txt"
    rem echo "======================================================="
    rem echo "==================fold content: begin ================="
    :type "c:\folder_content.txt"
    rem echo "==================fold content: end   ================="
    rem echo "======================================================="
    
    REM 下面的findstr命令查找當前文件是否有內容,如果查找成功表示目錄不是空的,否則是空的。
    REM 注意下面的兩個 '' 和 兩個 '' 符號。    
    findstr . "c:\folder_content.txt" >nul 2>nul && ( echo "The folder "%%i" is NOT NOT NOT empty") || ( echo "The folder "%%i" is empty" && echo "%%i">>"%cd%\empty_dir" && rd "%%i")
    del "c:\folder_content.txt"
    )
 del  "%cd%\directory.txt"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM