使用批处理文件递归删除目录中所有特定类型(扩展名)的文件

vexe

我需要删除dir1和dir2中的所有.jpg和.txt文件(例如)。

我试过的是:

@echo off
FOR %%p IN (C:\testFolder D:\testFolder) DO FOR %%t IN (*.jpg *.txt) DO del /s %%p\%%t

在某些目录中它起作用了;在其他国家则没有。

例如,这没有做任何事情:

@echo off
FOR %%p IN (C:\Users\vexe\Pictures\sample) DO FOR %%t IN (*.jpg) DO del /s %%p\%%t

我在第二个片段中缺少什么?为什么不起作用?

您可以在del命令中使用通配符,并/S以递归方式进行操作。

del /S *.jpg

附录

@BmyGuest问为什么低级答案(del /s c:\*.blaawbg)与我的答案有什么不同。

之间存在巨大差异第一个命令从当前位置执行,而第二个命令在整个驱动器上执行del /S *.jpgdel /S C:\*.jpg

jpg使用第二条命令删除文件的情况下,某些应用程序可能会停止运行,并且最终将丢失所有家庭照片。这非常令人讨厌,但是您的计算机仍然可以运行。

但是,如果您正在处理某个项目,并且想要删除中的所有dll文件myProject\dll,然后运行以下批处理文件:

@echo off

REM This short script will only remove dlls from my project... or will it?

cd \myProject\dll
del /S /Q C:\*.dll

然后,您最终从驱动器中删除了所有dll文件C:\您所有的应用程序都将停止运行,您的计算机将变得无用,并且在下次重新启动时,您将被传送到第四个维度,在那里您将永远陷入困境。

如果没有避免,这里的教训是不要在驱动器的根部(或其他可能有危险的位置,例如%windir%直接运行该命令始终尽可能在本地运行它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何删除文件夹中所有具有特定扩展名的文件?

gitignore目录中所有扩展名文件

使用bash,如何删除特定目录中所有文件的扩展名?

使用glob python读取目录中具有特定扩展名的所有文件

批处理文件:删除.File扩展名类型文件

如何使用Python递归复制目录中具有特定扩展名的所有文件?

仅匹配文档根目录中所有带有扩展名的文件

使用批处理文件以相同的扩展名顺序重命名所有文件

获取目录中所有文件的不带扩展名的文件名列表

Bash:更改目录中所有文件的文件扩展名并复制奇数行

Windows 7-递归删除具有特定扩展名的所有文件+空文件夹

批处理文件删除文件扩展名

如何删除数组中所有文件的文件扩展名?

添加批处理文件扩展名

如何使用命令提示符重命名目录树中所有文件的扩展名

列举目录中所有可能没有扩展名的文件

从目录中的所有文件中删除特定的扩展名

使用批处理文件删除文件夹中除一个扩展名(例如.idf)以外的所有文件

如何使用批处理文件以编号顺序列出文件夹中特定扩展名的所有文件

从整个目录树中删除所有类型(文件扩展名)的文件

如何使用特定扩展名重命名文件夹下的所有文件(递归方法)

批处理文件FOR Loop 7-zip提取特定文件扩展名

创建批处理文件-更改扩展名,删除行

批处理以递归方式删除除某些扩展名以外的所有扩展名

批处理文件删除指定扩展名的文件

如何更改目录中所有文件的扩展名?

使用批处理文件递归目录调整图像大小

如何使用cmd批处理删除具有特定扩展名的所有文件,不包括2个特定单词?视窗

批处理文件读取内容文件没有扩展名