----------------------------------------------
@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编码
其中:
进入任意一个文件夹内,单击鼠标右键,即可看到之前设定的子项,点击即可在当前文件夹内执行批处理命令,最终实现的效果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)