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

Posted kitor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 batfiles 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"

 

以上是关于windows批量删除当前目录以及子目录的所有空文件夹的主要内容,如果未能解决你的问题,请参考以下文章

linux基本操作

批量移动当前目录下的所有子文件夹?

在 Unix 中,如何删除当前目录及其下的所有内容?

使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件清除缓存文件解救C盘拒绝C盘爆炸

批量清理目录文件

批量清理目录文件