seemeagain 发表于 2024-12-31 09:50

请教各位大佬,在一个批处理文件里面,同时删除两个文件怎么整

比如我想删除*.html文件,forfiles /p "E:\temp" /s /m "*.html" /c "cmd /c del @file" ,这么执行没问题。但是我按网上教程,同时删除两个类型的文件,比如还要删除*.txt,我这么写:forfiles /p "E:\temp" /s /m "*.html,*.txt" /c "cmd /c del @file",就报错,删除不成功。请教大佬怎么写?

rSkip 发表于 2024-12-31 10:02

本帖最后由 rSkip 于 2024-12-31 10:03 编辑

整两行,一行删一种呗。wildcard不支持复杂逻辑。

另外,为啥不直接del *.html。噢噢 需要递归删除啊

seemeagain 发表于 2024-12-31 10:59

rSkip 发表于 2024-12-31 10:02
整两行,一行删一种呗。wildcard不支持复杂逻辑。

另外,为啥不直接del *.html。噢噢 需要递归删除啊 ...

我本来就是整两行的,嫌不够简洁,但是去微软那边查看文档,没有具体实例,网上的教程又出错,暂时先两行用用也行。

ifheb4 发表于 2024-12-31 11:14

for /r E:\temp %%i in (*.html *.txt) do del %%i

QyInvoLing 发表于 2024-12-31 11:14

seemeagain 发表于 2024-12-31 10:59
我本来就是整两行的,嫌不够简洁,但是去微软那边查看文档,没有具体实例,网上的教程又出错,暂时先两行 ...

不够简洁,但维护起来方便

hua_wuxin 发表于 2024-12-31 11:17

本帖最后由 hua_wuxin 于 2024-12-31 11:18 编辑

del命令本身就支持通配符、递归查找和多个文件。

del /f /s E:\temp\*.html E:\temp\*.txt

seemeagain 发表于 2024-12-31 12:18

hua_wuxin 发表于 2024-12-31 11:17
del命令本身就支持通配符、递归查找和多个文件。

del /f /s E:\temp\*.html E:\temp\*.txt ...

这个好,谢谢大佬

egmk 发表于 2024-12-31 13:31

本帖最后由 egmk 于 2024-12-31 13:42 编辑

想要放一起就只能用变量了,需要直接执行把%%改成%就可以了
for %%x in (txt html) do (del /f /s "E:\temp\*.%%x")

nagashinn 发表于 2024-12-31 14:08

你会哪种语言,用那种语言调 os 语言就行了,可以不全学
页: [1]
查看完整版本: 请教各位大佬,在一个批处理文件里面,同时删除两个文件怎么整