模式一:清空最底层的空文件夹
你可以使用以下批处理命令来实现这个需求。这段代码将检查当前目录及其子目录下的所有文件夹,如果文件夹为空,则将其删除,无论文件夹名中是否含有中文字符。
请将以下代码保存为一个 .bat 文件,然后在包含要清理的子目录的根目录下运行该文件。
@echo off
setlocal enabledelayedexpansion
for /d /r %%A in (*) do (
set "folder=%%A"
set "count=0"
for /f "tokens=*" %%B in ('dir /b /a "%%A"') do (
set /a count+=1
)
if !count! EQU 0 (
echo 删除空文件夹: "!folder!"
rmdir "!folder!"
)
)
pause
模式二:清空当前目录下所有的空文件夹
这种情况下需要多次运行脚本,直到所有空文件夹都被删除。为了解决这个问题,我们可以使用循环来确保脚本会一直执行,直到不存在空文件夹为止。请参考以下修改后的批处理代码:
@echo off
setlocal enabledelayedexpansion
:Loop
set "emptyFoldersFound=0"
for /d /r %%A in (*) do (
set "folder=%%A"
set "count=0"
for /f "tokens=*" %%B in ('dir /b /a "%%A"') do (
set /a count+=1
)
if !count! EQU 0 (
echo 删除空文件夹: "!folder!"
rmdir "!folder!"
set "emptyFoldersFound=1"
)
)
if %emptyFoldersFound% EQU 1 (
goto Loop
)
echo 所有空文件夹已被删除。
pause
这个修改后的脚本在每次循环时都会检查所有文件夹。当发现空文件夹时,它将删除空文件夹并将emptyFoldersFound变量设置为1。脚本将继续执行循环,直到没有找到空文件夹。
以上代码若要完整显示中文字符,需要保存为ANSI编码。