[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【求助】批处理 删除当前文件夹下所有空文件夹

在网上找了很多批处理用了都没效果.像这个

我有一个文件夹,文件夹下经常产生许多空目录,我想在这个文件夹根目录下建一个批处理。执行这个批处理就会帮我删除当前文件夹下所有空目录。。。
希望有大神能帮我写一段批处理,不胜感激。

回复 2# lowying
  1.     @echo off&title 清理空目录
  2. set/p Pan=请输入要清理盘符(只需输入字母即可),回车确认:
  3. cls&echo 即将开始清理。。。&ping 0 -n "3">nul
  4. cd /d %Pan%:\
  5. for /f "delims=" %%a in ('dir /ad/s/b') do (
  6.     dir /a-d/s/b "%%~a\*" >nul 2>nul
  7.     if errorlevel 1 (
  8.         title 正在清理空目录: “%%~a”,请等待。。。
  9.         echo 空文件夹: “%%~a”为空,准备删除。。。
  10.         rd /s/q "%%~a
  11.         if exist "%%~a" (
  12.             title 目录: “%%~a”被占用,无法删除。
  13.             echo 文件夹被占用,无法删除。
  14.             ping 0 -n "4">nul
  15.         ) else (
  16.             echo 空文件夹: “%%~a”已被清理。
  17.             ping 0 -n "1">nul
  18.         )
  19.     )
  20. )
  21. set msg=%Pan% 盘空文件夹清理完成。请按任意键退出。
  22. title %msg%&echo %msg%
  23. pause>nul
  24. exit
复制代码

TOP

问题已解决

@echo off
Setlocal enabledelayedexpansion
set "ml=%~dp0"
cd /d "%ml%"
for /f "delims=" %%i in ('dir /ad/b %ml%\*') do (
set xh=0
for /f "delims=" %%a in ('dir /s/b "%ml%\%%i"') do if not "%%~nxa"=="" set xh=1
  if !xh!==0 (
  attrib -h -s -r "%%~i"
  rd /q "%%~i")
)

TOP

返回列表