利用批处理删除空白文件夹(目录)

利用批处理删除空白文件夹(目录),第1张

Windows使用久了,会生成大量的空白文件,如何删除这些无用的文件夹?你可以试试如下的批处理

----------------------------------------------

@ECHO OFF

ECHO 搜索...

DIR "%CD%" /AD /B /S | SORT /R /O list.txt

IF EXIST deleted.txt ATTRIB -S -H -A -R deleted.txt &DEL /F /Q deleted.txt >NUL 2>NUL

ECHO 删除...

FOR /F "delims=|" %%i IN ( list.txt ) DO RD "%%i\" >NUL 2>NUL &IF NOT EXIST "%%i\" ECHO %%i\>>deleted.txt

IF EXIST deleted.txt NOTEPAD.EXE deleted.txt

DEL /F /Q list.txt >NUL 2>NUL

ECHO 完成!

----------------------------------------------

1. 在你需要清理的文件夹中,右键 ->新建 ->文本文档。

2. 将分割线中的内容复制到“新建文本文档.txt”。

3. 改名“新建文本文档.txt”,比如“删除空白文件夹.bat”。

4. 双击执行“删除空白文件夹.bat”。

可以的,我不会用Bat批处理文件,但是我可以用Python写一个这样的程序。这里假设a,b两个文件夹内没有子文件夹,且a,b两个文件夹都在C:目录下(如果假设的不对请追问)

①先搭建Python3.6版本的运行环境,设置好环境变量。②创建一个py文件,写以下的代码:import os    #导入os模块#获取a文件夹内的文件信息,如果有子文件夹,可以用较为复杂的os.walk函数。filea=os.listdir("C:\a\")fileb=os.listdir("C:\b\")     #获取a文件夹内的文件信息dellist=[]    #定义一个列表for i in filea:    #遍历列表,获取信息if i in fileb:dellist.append(i)

#现在,dellist里面记录的就是文件夹a比文件夹b多的文件了。for i in dellist:    #遍历列表,删除文件   os.remove("C:\b\"+str(i))#好了,文件删除完毕。

还有一个方法:复制b文件夹中的所有文件,然后打开a文件夹,空白处右键粘贴,在d出的复制文件提示框中先勾选“为之后冲突执行此 *** 作”,然后点击“复制和替换”,复制完毕后,b文件夹复制过来的文件都处于选择状态,此时按键盘Delete键,在d出的“删除多个项目”提示框中点击“是”,这样就把b文件夹中已经有的文件从a中删除了。(转载自ljlluck)如果您还有问题请追问,请注意代码的缩进、字符的全交半角,以及代码的完整性。谢谢!

日常学习工作免不了使用电脑,而作为一个强迫症,看到电脑中有空文件及其不爽;

再加上使用一些Git工具时含空文件不允许提交,因此就寻思着可不可以写一个脚本直接一键清理空文件夹。

最终实现的效果如下:

不想知道具体实现原理的可以直接跳过这一步,没有任何影响

因为Sublime默认保存文件编码为utf-8,而一旦输入中文,windows系统将无法识别,在最终的命令行窗口会出现乱码的情况,因此,需要安装插件使sublime支持gbk编码

其中:

进入任意一个文件夹内,单击鼠标右键,即可看到之前设定的子项,点击即可在当前文件夹内执行批处理命令,最终实现的效果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11879063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存