删除当前及子文件夹中的空目录
在对文件进行操作的工程中不免会出现空目录的情况,你想怎么去删除那些空目录一个一个去找,然后删除?不会吧,这也太累了,用批处理吧,帮你提高工作效率的,它会准确的判断然后进行删除。
- @echo off
- for /f "tokens=*" %%a in ('dir /b /ad /s "目标路径"^|sort /r') do rd "%%a" 2>nul
- pause
- goto :eof
- @echo off
- for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i"
- goto :eof
- rem ======= 删除空目录 =========
- :rd_dir_empty
- rd %1 2>nul||goto :eof
- set dir_route=%1
- for /f "delims=" %%i in (%dir_route%) do (
- set dir_route="%%~dpi"
- for /f "delims=" %%j in ('dir /ad /b "%%~dpi"')do rd "%%~dpi%%j" 2>nul||goto :eof
- )
- :: 把路径最后的\去掉,以便set route_deepest="%%~dpi"能取到上一层路径
- if "%dir_route:~-2,1%"=="\" set dir_route="%dir_route:~1,-2%"
- if /i not "%cd%"==%dir_route% call :rd_dir_empty %dir_route%
- goto :eof
代码的思路是这样的:
思路:列举所有目录(包括子目录)路径,然后,删除第一个路径最后一节上的文件夹;如果能删除这个文件夹,则删除上一层文件夹;如果还能删除,则继续上一步……直到当前目录为止;如果其中某一节不能删除,立即跳出,开始删除下一条路径中,最后一节上的文件夹……如此反复。
转载于:https://blog.51cto.com/sucre/416695
相关文章:

基于WebSocket实现聊天室(Node)
基于WebSocket实现聊天室(Node) WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 本文作为学习websocket的练习,实现在线聊天的功能…

Ruby 之 Block, Proc, Lambda 联系--区别,转载
Ruby 之 Block, Proc, Lambda Block Block 不是对象,是Ruby的语言特性,近似于闭包(Closure)。 范例: def meth res yield "Block called returns #{res}"endputs meth do next “next_value” end #…

【java】牛客网刷题
1、 给出以下代码 public class TestObj{public static void main(String[] args){Object onew Object(){public boolean equals(Object obj){return true;}};System.out.println(o.equals(“Fred”));}}答案: true 总结: 知识点: &…

Winder摆杆不稳除了PID还可能的原因
1.卷径计算有问题。 2.速度限制住了。 转载于:https://www.cnblogs.com/Lion-Ming/p/11104972.html

javascript断点调试方法
http://www.blogguy.cn/show-728-1.html

Python爬虫案例-获取最新的中国行政区域划分
源网页:中国统计局标准 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/ 打开网页后可以分析出行政区域划分共分为5层 根据传入参数,生成网页地址时需要1-3层的只传本身以及 4层及以后的增加当前省份的前缀。 #生成实际需要解析的页面地址 def …

管理分布式session的四种方式。
应用服务器的高可用架构设计最为理想的是服务无状态,但实际上业务总会有状态的,以session记录用户信息的例子来讲,未登入时,服务器没有记入用户信息的session访问网站都是以游客方式访问的,账号密码登入网站后服务器必…

【matlab】第三章数组和数组的运算
(一)操作练习 1、构建等差数列的方法 代码实现 //方法1A 5:1:10//输出结果A 5 6 7 8 9 10//方法2 A linspace(1,10,3) //输出结果 A 1.0000 5.5000 10.0000 //注意最后的3指的是一共三个元素//等比数列A logspace(0,2,5)//输…

用PHP生成等比图像的方法
PHP代码 <?php /************************************************************************ * 函数名称:createSmallImg() * 函数说明:创建等比例图片 * 输入参数:$dir 保存路径$source_img 原图片名称$small_ex 缩率图文件名后缀$maxw…

ARM7启动代码
1:PRESERVE8: Reguire8和Preserve8 C和汇编有8位对齐的要求,这两个伪指令可以满足此要求,存在REQUIRE8<——> PRESERVE8的对应关系,但不是说有一个REQUIRE8就要有一个 PRESERVE8,如果是一个c文件和一个汇编文件的调用&#…

一次完整请求的日志
一次完整请求的日志:各种配置文件:spring-mvc.xml<?xml version"1.0" encoding"UTF-8"?><beans xmlns"http://www.springframework.org/schema/beans" rel"nofollow"" target"_blank"…

Aveva Marine C# 二次开发入门001
1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.ApplicationFramework.Presentation;using Aveva.ApplicationFramework; 3# 继承接口…

搜集《ASP.NET中常用的26个优化性能方法》
1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响…

【matlab】我要自学网笔记总结 1.3
1.3 1、在matlab的命令行窗口可以直接进行数学运算 2、π 和平方的使用 S pi*r^2 3、如果输入一个多位小数,输出时只显示小数点后四位,但计算的时候使用的是真实值。 如果要改变显示的位数 (1)可以在 预设 - 命令行窗口 - 数值…

IT规划的企业应用实践(6)研究背景 之 企业信息化建设的诉求
研究背景 之 企业信息化建设的诉求 从实践角度看,企业信息化建设的诸多问题和诉求,可以归纳为以下几个方面: 1. IT系统本身: l 面对成本的压力和客户的要求,在流程方面、运作方面离不开IT支持,IT系统如何支…

Codeforces Gym100812 L. Knights without Fear and Reproach-扩展欧几里得(exgcd)
补一篇以前的扩展欧几里得的题,发现以前写错了竟然也过了,可能数据水??? 这个题还是很有意思的,和队友吵了两天,一边吵一边发现问题??? L. Knights without F…

Tarjan无向图连通性
割点:去掉某点x,该无向图分割成两部分(及以上) 割边:去掉某条边x,该无向图分割成两部分(及以上) 时间戳:在搜索树上的遍历序号dfn 追溯值:subtree子树和非搜索…

php去除字符串首尾空格(包括全角)(转)
<? $str" dfdfdf曊壷顳 道德观第三附属 "; $str mb_ereg_replace(^( | ), , $str); $str mb_ereg_replace(( | )$, , $str); echo mb_ereg_replace( , "\n ", $str); ?>转载于:ht…

【单片机】写电子钟时遇到的问题
1、<> 与""的区别 1、<> 先去系统目录中找头文件,如果没找到再去当前目录下找。 所以一般用于向标准的头文件如 studio.h 和 stdlib.h 等方法。 2、"" 首先在当前目录下寻找,如果找不到在去系统目录下寻找。这个用于自…

什么是业务组件?
海浪给大家分享了一些关于业务组件的文章,但是什么是业务组件呢?海浪转载了yongtree写的这篇文章。业务组件是一系列不可分割的业务活动,是构建专业化企业的功能模块。业务组件的优势在很大程度上来源于其具备两个相关但截然不同的特性&#…

3.3.2 函数参数不得不说的几件事
函数定义时圆括号内是使用逗号分隔开的形式参数列表(parameters),一个函数可以没有参数,但是定义和调用时一对圆括号必须要有,表示这是一个函数并且不接受参数。函数调用时向其传递实参(argumentsÿ…

wpf 对控件进行截图,获取快照
有时候我们项目,在执行某个操作后,会生成一些数据结果,如报表一类的东西,我们需要对结果进行保存,甚至是生成word文档。 那么首先获取到控件快照就最基本的条件。 生成快照的静态方法类 using System; using System.Co…

【java】兴唐第二十一节(LinkedList和泛型)
LinkedList知识点 1、实现了Iterable接口的类具有迭代功能。 2、List接口为Collection的子类,表示线形数据列表,其实现类有:ArrayList(数组线性表)与LinkedList(链表) 算了不多说了,上图吧 3、ArrayList是一个可变数组ÿ…

Elgg网站迁移指南
转载地址: http://blog.sina.com.cn/s/blog_84068de60100vr21.html Elgg官方文档上的网站迁移部分是有问题的——缺少了一些重要步骤,而且过程更麻烦。正确的方法如下: 备份网站文件,包括uploads文件夹导出数据库在数据库文件中&a…

INFO:在InstallShield中修改安装包压缩.cab包的大小
如果我们用InstallShield打包一个数据非常大的安装包(Basic MSI和InstallScript MSI工程类型),默认情况下安装包会产生多个.cab文件,这里简单说明我们如何修改安装包中.cab文件的大小。首先,有个信息大家需要知道&…

MEF依赖注入实例
什么是MEF 先来看msdn上面的解释:MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库。 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬…

Data - 数据思维 - 上篇
1 - 概念与定义 如果分析思维是一种结构化思考的体现,那么数据分析思维(简称数据思维)则是以数据为依托的结构化分析方式。 不同于“我觉得”、“以前是怎样”、“其他人如何”这些直觉化、经验化、类比化的思考方式,数据思维是以…

新生选课系统使用指南
建议选用IE6或者IE7浏览器。 打开浏览器,地址栏输入202.200.112.200, 或者202.200.112.202, 或者202.200.112.210。按回车键。 输入学号和身份证号(如果修改过密码,则输入新密码)。点“登录”。 点 “学生…

【java】兴唐第二十三节课(暑期第一节TreeSet)
预警:进入暑期培训的博主即将高产似母猪,敬请博友期待。 1、给类添加构造方法 alt shift s 选择Generate Construct using Fields 2、map两种遍历方法 方法一: 获取所有的key值,根据key值获取value值 代码实现: Se…

程序设计分析(开篇)——混沌初开,顿悟设计
一直以来,不断的进行着项目的设计、开发,然而,差的设计,痛苦的维护、编码,让我不断的审视自己的设计是否有问题,在最近的一些思考、理解中,终于有了一些领悟,总结一下过去的设计&…