Bat删除空文件夹

发布时间 2023-11-21 11:09:52作者: jack_Meng

删除空文件夹

批处理递归删除当前及子目录中的空文件夹

将以下代码复制保存至def.bat文件中,直接双击运行即可(不推荐使用)

@echo off
:deldir
setlocal enabledelayedexpansion
for /d %%a in (%1*) do (
set p="%%a\"
set p=!p:.\"=..\"!
rd !p! || ( call :deldir !p! & rd !p! )
)

 

出处:https://www.cnblogs.com/hhddd-1024/p/14275097.html

=======================================================================================

个人使用

优化:根据上面的思路修改,必须指定目标文件夹参数,调用方式:def.bat  "c:\tmp"

@echo off
cls
:deldir
setlocal enabledelayedexpansion
if [%1] equ [] echo 未指定文件夹 & goto :eof
set fp=%1
set fp="%fp%" & set fp=%fp:"=%
if "%fp%" neq "" if "%fp:~-1%" neq "\" set fp=%fp%\
set fp="%fp%"
for /d %%a in (%fp%*) do (
set p="%%a"
set p=!p:.\"=..\"!
rd !p! || ( call :deldir !p! & rd !p!)
)

 

优化二

 

 

=======================================================================================