如何创建批处理文件,根据文件名末尾的单词(使用单词列表)删除文件?

如何创建批处理文件,根据文件名末尾的单词(使用单词列表)删除文件?

我有一个目录,里面有数千个html文件分散在几个子目录中。我需要删除符合许多条件之一的所有文件。所有条件都类似。文件名如下:

MM-DD_hh-mm-ss__www.host.com.html

因此,必须删除所有以特定主机名结尾的文件。目前大约有 20 个主机名。(但这个数字将增加到大约 100 个。)我将列表存储在txt文件中,并且更喜欢这样做。

__first.site.com.html
__www.secondsite.com_.html
__site.com_numberthree.html

问题是,一些“好”文件包含“坏”主机名,但不在文件名末尾。

__www.onesite.com_.html (bad)
__www.onesite.com_prices.html (good)

我可以创建一个 bach 文件来安全地扫描所有子目录并使用列表删除不必要的文件吗?操作系统是 Windows 7。我想设置任务计划程序来每晚运行此类任务。但我不熟悉命令。请帮忙。

PS 实际上,一些“坏”文件有链接文件夹_files。我希望它们会被自动删除,就像我手动删除主文件时一样html

答案1

只需快速帮助您入门:

@echo off

for /F %%p in (list.txt) do (
    echo Current pattern: %%p
    for /R "C:\" %%f in (*%%p*) do (
        echo File: %%f
    )
)

exit /B 0

相关内容