我要删除文件夹下的类似文件:
news6.htm
news6_1.htm
news6_3.htm
news6_8.htm
但是,文件夹里还有类似这样的:news61.htm、news62.htm 这些我不要删除。
下面我的代码删除不了news6_1.htm之类的。
if fso.FileExists(news6.html") then
fso.DeleteFile(news6.html")
end if
if fso.FileExists(news6_*.html") then
fso.DeleteFile(news6_*.html")
end if
我该怎样做才能呢
fileexists参数不支持通配符,删除方法也不支持,只能遍历文件夹下的文件用正则匹配文件名然后删除
VBScript codeset fso=server.CreateObject("scripting.filesystemobject")
set folder=fso.GetFolder(server.MapPath("."))'============注意修改你的路径
set files=folder.files
set rx=new Regexp
rx.IgnoreCase=true
rx.Pattern="news6(_\d+)?\.htm"'==========正则
for each f in files
if rx.Test(f.name) then fso.DeleteFile f.path'匹配则删除
next
set rx=nothing
set files=nothing
set folder=nothing
set fso=nothing也并不一定都是以news6开头的吧。只是说以news开头,后面跟一个数字?
正如楼上所说的,要遍历文件夹,用正则删除。要不然的话,没办法取到文件名字的。不支持通配符。
楼上showbo的代码,稍改一下。
rx.Pattern="news(\d)(_\d+)?\.htm"'==========正则