我有一些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文件未被删除。
有什么问题?谢谢你的解释。
答案 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"
感谢帮助和回应。