批量删除所有空文件夹
如何快速删除磁盘上的空文件夹:
假设我们要清理D盘上的空文件夹,那么请先用记事本建一个名为“kill.bat”的文件,在该文件中输入以下内容:
dir d: /ad /b /s |sort /r >>d:kill.txt
For /f %%i in (d:kill.txt) DO rd %%i
echo y |del d:kill.txt
双击该文件,D盘上所有的空文件夹很快就消失的无影无踪了。
至此我们就可以制作出删除所有盘符上空文件夹的小软件了。
将下面的内容复制到记事本中,然后保存为.bat后缀即可!
然后双击运行,便将所有的盘符上的空文件夹迅速删除了!
@echo 欢迎使用批量处理空文件夹1.0版!
@pause
@echo 清理C盘
dir c: /ad /b /s |sort /r >>c:kill.txt
For /f %%i in (c:kill.txt) DO rd %%i
echo y |del c:kill.txt
@echo 清理D盘
@pause
dir d: /ad /b /s |sort /r >>d:kill.txt
For /f %%i in (d:kill.txt) DO rd %%i
echo y |del d:kill.txt
@echo 清理E盘
@pause
dir e: /ad /b /s |sort /r >>e:kill.txt
For /f %%i in (e:kill.txt) DO rd %%i
echo y |del e:kill.txt
@echo 清理F盘
@pause
dir f: /ad /b /s |sort /r >>f:kill.txt
For /f %%i in (f:kill.txt) DO rd %%i
echo y |del f:kill.txt
@echo 清理G盘
@pause
dir g: /ad /b /s |sort /r >>g:kill.txt
For /f %%i in (g:kill.txt) DO rd %%i
echo y |del g:kill.txt
@echo 清理完毕,谢谢使用!
注意:根据自己电脑上所分的磁盘数。可以增加和删除相应的磁盘内容。
提示:“dir d:”表示列D盘上的所有目录包括子目录列表,其中参数“/ad”表示列所有目录;参数“/b”表示只列出文件夹名称而不显示标题信息或摘要:参数“ /s”表示搜索,即查找D盘中的所有文件夹和子文件夹;“|”是管道符号,将Dir命令的结果传递给“sort”命令;“sort”命令表示排序;“ /r”表示逆序列排序。之所以要逆序列排序,是因为通过逆序列排序后,D盘上的所有子文件夹总是会位于其父文件夹的前面,这样在用For命令删除空文件夹 时,空的子文件夹被首先删除了,因此空的父文件夹就可以删除了。否则,因空的父文件夹中尚有空的子文件夹,会造成无法删除的情况。 “>>d:kill.txt”的作用是让屏幕回显重新定位到“d:kill.txt”文件中。
For 命令中参数“/f”的作用是让For命令从指定的文件中读取数据作为变量,示例是从Dir的结果文件“d:kill.txt”文件中读取数据,每次读取一 行传递给RD命令;RD命令的作用是删除由For命令传递过来的每一个文件夹,因RD命令无法删除尚有内容的文件夹,所以经过For命令的循环后,只是删 除了所有的空文件夹,有内容的文件夹会完好无损地被保留下来。
谢谢使用,多多支持。
本文出自 传播、沟通、分享,转载时请注明出处及相应链接。
本文永久链接: https://www.nickdd.cn/?p=398
4条评论
@dd
这个只是针对特定文件夹用的,我多用在打补丁包。对于系统这东西,可不是随便使用的。
说起这个我好有感触的
当时把XP windows目录下一个空目录删了
发现ADSL不能拨号了
发现拨号的服务启动失败
想了好办天才记起来干过为事