如何使用批处理脚本删除名字中包含特定单词的html文件?

时间:2015-09-18 09:03:48

标签: batch-file cmd

我有一些html文件:

pkg_mon_spt@id=6&page=1.html
pkg_mon_spt@id=7&page=1.html
pkg_mon_spt@id=8&page=1.html
pkg_mon_spt@id=6&page=2.html
pkg_mon_spt@id=7&page=2.html

我要删除的批处理脚本包含“page = 1”字样的所有文件是:

@echo off
if exist *page=1.html del *page=1.html
pause

html文件和批处理文件位于同一文件夹中。 当我运行批处理文件时,名称中包含单词“page = 1”的html文件未被删除。

有什么问题?谢谢你的解释。

4 个答案:

答案 0 :(得分:2)

在文件名周围使用引号(它包含特殊字符(=&)):

if exist "*page=1.html" del "*page=1.html"

答案 1 :(得分:0)

当您的批处理文件位于同一文件夹中时,此命令就足够了。

del *page=1.html

答案 2 :(得分:0)

我认为问题是您使用的模式*page=1,除了缺少引号。您可以使用find命令解决这个问题:

for /F "delims=| eol=|" %%L in (
  'dir /B /A:-D "\path\to\folder" | find "page=1"'
) do (
  ECHO del "%%~fL"
)

要实际删除文件,请删除ECHO

答案 3 :(得分:0)

我终于找到了解决方案。

if exist *"page=1.html" del *"page=1.html"

感谢帮助和回应。