首页 > 分享 > Windows删除空文件夹问题带来的学习与思考

Windows删除空文件夹问题带来的学习与思考

1、问题产生:

  前段时间得到一份资源,号称有近500个G的学习资料,花了我好长时间下载下来,顺手拿了个文件查重工具查了下,发现这500个G水分很大,资料重复率很高,于是当然就会查重删除重复文件,这样导致了该文件夹下存在很多空目录,虽然不占多少空间,但是会影响观感和索引,于是决定删除空文件夹。

2、问题解决过程

  问题的解决方法是多样性的,最简单粗暴的就是手动删除,但是500G的资料,天知道有多少空文件夹,显然不能手动,毕竟我这么懒。这时候就要问问 网络搜索引擎 是否有偷懒的办法。网上有说软件清理的,emmm…有点心动,但是为一些不占多少空间的空目录再去下一个几M的软件,有点不爽。于是,决定采用另一种方法,命令行。

  网上大多给出了批处理bat删除空文件夹的命令。我们来简单解析一下:

@echo off for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r' ) do rd /q "%%a" 2>nul 12 @echo off 不说了,关闭回显for 命令,循环读取执行操作,下图给出简单介绍,详情可见for /?
for命令dir . /b /ad /s,使用空格式(/b)显示指定目录(当前目录(.))和所有子目录中(/s)的文件属性(/a)为目录的文件(目录也是一种特殊的文件)。简单说就是递归列出所有目录。更多详情见 dir /?sort /r 逆序排序。| 为管道符,将|之前的命令的输出作为之后命令的输入。这里的效果就是 逆序排列,这样子目录就会排列在前面了。for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r') do 把结果传给for循环,依次执行do后面的命令。"delims="用于指定分隔符。因为()中是嵌套的命令,所以要用单引号’’。'dir . /b /ad /s ^|sort /r'这里的^是转义字符。rd /q ”。rd命令默认是删除空文件夹,/q是安静模式,不要求确认。详情见rd /?。2>nul,没找到这方面资料,推测应该与Linux的2>/dev/null同性质。2表示错误输出。参考文章《2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null - 中琦2513的猿生 - CSDN博客》for /f "delims=" %%a in ('dir . /b /ad /s ^|sort /r' ) do rd /q "%%a" 2>nul总体来说就是利用for循环挨个删除()中命令产生的目录列表中的空目录,没有回显和报错信息。

  应该写的很详细了吧。批命令有个好处,就是写一次你就可以多次使用了。这个批处理是从当前目录开始查找,因此每次使用只需要把这个bat文件移动到你想要删除空目录的文件夹的根目录(注意,不用是磁盘根目录)。

批命令和命令行相差不大,最后写个命令行的:

for /f "delims=" %a in ('dir [你想要的目录] /s/b/ad ^| sort /r') do rd %a 2>nul 1

  当你运行命令时,发现它没有任何反应,别紧张,它只是在读取文件列表(执行dir),可能你的文件有点多,你也可以分两步走,先用dir,将文件目录列表写入一个txt文件,再用for读取文件。

PS:在bat文件中for命令之前,你可以加个color 0A命令,这样你的输出就会绿字黑背景的,如果你文件多的话会有一种 极客 的感觉,有兴趣的话自取。

如有错误,欢迎指正。(〃‘▽’〃)

相关知识

Windows Server 2012如何把快捷方式加到启动文件夹中
电脑怎么删除没用的文件?无用文件,一键删除技巧!
番茄花园 Windows XP Pro SP2 美化版 V 6.2
从 Windows 电脑连接到 Mac
在 Windows 应用中部署 PyTorch 数据分析模型
Windows注册表内容详解
美景再添花 Windows 7图标美化全攻略
解决易语言编程乱码的问题
在Windows 98环境下,如何正确设置文件和文件夹的隐藏属性,格式化磁盘以管理文件系统,以及采取哪些措施来防范计算机病毒?请提供详细的步骤和方法。
配置 Windows 环境变量的方法

网址: Windows删除空文件夹问题带来的学习与思考 https://m.huajiangbk.com/newsview1478121.html

所属分类:花卉
上一篇: 腊梅花的花语——寒冬中的希望与坚
下一篇: 帅轩 蔷薇花种子爬藤月季玫瑰四季