我已经下载了一系列种子文件,并希望删除其中的一些附件。我熟悉forfile,但是不知道如何从不需要的扩展名(即* .jpg,*。txt等)的文件中设置搜索掩码。
到目前为止,我已经捕获了17个我永远不需要的扩展,并且如果我发现另一个扩展,我不希望不得不将整个批处理程序循环18次。
答案 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
命令