赢得10个forfiles搜索掩码

时间:2018-12-03 14:38:27

标签: batch-file

我已经下载了一系列种子文件,并希望删除其中的一些附件。我熟悉forfile,但是不知道如何从不需要的扩展名(即* .jpg,*。txt等)的文件中设置搜索掩码。

到目前为止,我已经捕获了17个我永远不需要的扩展,并且如果我发现另一个扩展,我不希望不得不将整个批处理程序循环18次。

1 个答案:

答案 0 :(得分:0)

首先,使用dir /b /s准备所有不需要的文件的列表,将输出捕获到临时文本文件中;

dir /b /s *.txt /s *.jpg /s *.etc >%temp%\unwanted.lst

有关help dir/b开关的说明,请参见/s

然后,使用捕获的列表内容上的简单for /f删除列表中的文件

for /f "delims=" %%a in (%temp%\unwanted.lst) do del %%a

请参阅help for以了解/f的作用。


因此,将所有部分放在一起,您的批处理文件将类似于以下内容:

@echo off
set "otf=%temp%\unwanted-%random%.lst"
dir /b /s *.jpg /s *.txt /s *.etc >%otf%
for /f %%a in (%otf%) do echo del "%%a"
echo del %otf%

请注意,它使用%random%伪变量来最大程度地减少发生碰撞的风险

根据您的情况进行测试并删除echo命令