您当前的位置:首页 > 计算机 > 系统应用 > Windows

windows批量删除当前目录以及子目录的所有空文件夹

时间:04-23来源:作者:点击数:
1. 创建批处理文件内容如下

文件名可以叫做 rm_empty_dir.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"
2. 执行批处理文件

将批处理文件 rm_empty_dir.bat 放在需要清理的文件夹中,然后运行即可。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门