[2017-11-21] Windows环境下利用批处理命令快速删除大量文件

来源:互联网 发布:小米 金属 贵 知乎 编辑:程序博客网 时间:2024/05/24 07:25

上一次学习深度学习中的生成式对抗网络,需要用到大量的图片来训练,于是就采用了MNIST数据集,并且利用Matlab将 *.gz 里面的数据全部以图片的形式保存到硬盘当中并且分成0~9,共计十个文件夹。训练的时候的确用的爽啊,想用哪个文件夹下面的图片来训练,就用哪一个。由于在训练过程中,需要将图片混合啊,翻转,旋转啥的,每弄一次就拷贝一下训练集之类的。学习完了之后,发现自己复制出来的图片文件有N多张。想全部删除,直接"shift+delet",那速度真的是龟速啊。于是在网上搜索,如何快速批量删除大量文件。于是发现利用批处理命令能够大幅度提升删除速度。这里将批处理文件里的命令分享给大家。

首先创建一个“新建文本文档.txt”,并在里面输入下列代码:

@echo offecho --------------------WARNING--------------------echo [%1] folder will be deletedecho --------------------WARNING--------------------pauseecho Deleting [%1] folder. time /Tdel /f/s/q %1 >nulrmdir /s/q %1 >nulecho Files and folders have been deleted successfully! time /Tpause

输入好之后,"ctrl+S"保存一下,并将文件重新命名为"快速删除.bat"。(注意后缀一定要改为.bat)

然后将需要删除的文件夹/文件用鼠标拖到这个"快速删除.bat"文件上,就会提示:X:/XXX/XXX folder will be deleted。

如果此时不想删除这个文件夹/文件,直接点击右上角的“X”关闭命令提示符。否则一旦按下任意键,文件夹以及里面的文件将会被全部删除。


del:DOS命令下的删除命令。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names:指定一个或多个文件或者目录列表。通配符可用来删除多个文件。如果指定了一个目录,该目录中的所有文件都会被删除。

/P   删除每一个文件之前提示确认。

/F   强制删除只读文件。

/S   删除所有子目录中的指定的文件。

/Q   安静模式。删除全局通配符时,不要求确认。

/A   根据属性选择要删除的文件。

属性:

R    只读文件

S    系统文件

H    隐藏文件

A    存档文件

I     无内容索引文件

L    重分析点

-     表示“否”的前缀


del /f/s/q %1 >nul 这个用来删除文件夹里面所包含的所有文件,但是文件夹都会被保留。结果是很多个空文件夹,一个套一个这样。


rmdir /s/q %1 >nul 这个用来删除留下来的文件夹。(其实这一句命令也可以将整个文件夹里面的文件和子文件夹全部删除,但是好像del删除文件的速度更快,所以此处就用del将文件先全部删除,再用rmdir将文件夹删除,最终达成实现删除整个文件夹里的内容及文件夹的目标)。

注:del无法删除文件夹,rmdir无法删除单一的,不在文件夹里的文件。




原创粉丝点击