我需要删除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 *.jpg
del /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] 删除。
我来说两句