找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17571|回复: 3

[文件操作] [分享]批处理查找或删除二级文件夹下的空白文件夹

[复制链接]
发表于 2022-9-25 18:26:47 | 显示全部楼层 |阅读模式
【问题描述】

有什么方法可以批量查找出二级文件夹下面是空白文件夹么?

├─1
│  ├─1-1
│  │      1-1.jpg
│  │      
│  └─1-2
├─2
│  └─2-1
└─3
    ├─3-1
    └─3-2
            3-2.jpg
 楼主| 发表于 2022-9-25 18:27:49 | 显示全部楼层
【解决方案】

查找二级文件夹下的空白文件夹_1.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5.     pushd "%%i"
  6.     for /f "delims=" %%j in ('dir /b /ad') do (
  7.         set "FolderEmpty="
  8.         for /f "delims=" %%k in ('dir /a /b "%%j"') do (
  9.             set "FolderEmpty=%%k"
  10.         )
  11.         if "x!FolderEmpty!" equ "x" (
  12.             echo %~dp0%%i\%%j 是空文件夹
  13.         )
  14.     )
  15.     popd
  16. )
  17. pause
复制代码
 楼主| 发表于 2022-9-25 18:34:40 | 显示全部楼层
删除二级文件夹下的空白文件夹_1.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     pushd "%%i"
  5.     for /f "delims=" %%j in ('dir /b /ad') do (
  6.         rd "%~dp0%%i\%%j" 2>nul
  7.     )
  8.     popd
  9. )
  10. pause
复制代码
发表于 2022-9-25 22:20:25 | 显示全部楼层

  1. if not "%1"=="" (
  2.         cd /d "%1"
  3.         if "%errorlevel%"=="0" (goto:inputparam_1_not_is_null)
  4.         )
  5. echo 当前执行文件夹为:"%~dp0"
  6. set temp_userinput_var_a="%~dp0"
  7. set /p temp_userinput_var_a=拖入文件夹:
  8. cd /d "%temp_userinput_var_a%"
  9. :inputparam_1_not_is_null
复制代码
提升点易用性?随便打的,不过加了这个要考虑管理员权限导致的路径变化就是了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 14:26 , Processed in 0.017843 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表