bat命令删除指定文件夹下的空文件夹

时间:2025-04-27 22:52:09
@echo off&title 清理空目录
set/p Pan=请输入要清理文件夹,回车确认:
cls&echo 即将开始清理。。。&ping 0 -n "3">nul
cd /d %Pan%
for /f "delims=" %%a in ('dir /ad/s/b') do (
    dir /a-d/s/b "%%~a\*" >nul 2>nul
    if errorlevel 1 (
        title 正在清理空目录: “%%~a”,请等待。。。
        echo 空文件夹: “%%~a”为空,准备删除。。。
        rd /s/q "%%~a
        if exist "%%~a" (
            title 目录: “%%~a”被占用,无法删除。
            echo 文件夹被占用,无法删除。
            ping 0 -n "4">nul
        ) else (
            echo 空文件夹: “%%~a”已被清理。
            ping 0 -n "1">nul
        )
    )
)
set msg=%Pan% 文件夹下空文件夹清理完成。请按任意键退出。
title %msg%&echo %msg%
pause>nul
exit

更新一个删除本地Maven仓库中的一些包含.lastUpdated文件,等jar包下载失败的文件夹的脚本。

set REPOSITORY_PATH=D:\Development\Maven\Repository
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s /q %%i
)
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*unknown*"') do (
    rd /s /q %%i
)
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\${*}"') do (
    rd /s /q %%i
)
rem 搜索完毕
pause