注册 登录
编程论坛 ASP技术论坛

如何用文件名查找文件?

soarb 发布于 2008-08-28 17:54, 2092 次点击
我翻阅了下论坛有关文件的操作,是用FileSystemObject操作的事件?
可我对些不胜了解.因为没有找到用filesystemobjiet查找文件的函数,所以就没法下手.
这或许对熟手相当简单,但对于刚从php转到asp的新手来说一片泫然呀.
还请各位前辈指点指点.后生先谢了!

文件名中包含相对路径名,加文件名(不带后缀).

/2008-08/200808271750

现在需要查找是否有200808271750.*的文件.必返回带后缀文件的值.如/2008-08/200808271750.rar

这个事件应该如何写呢?


再谢!
4 回复
#2
tianyu1232008-08-28 18:40
这样试试
<%
dim key,key1,key2
key="/2008-08/200808271750" '关键字
key1=left(key,instrRev(key,"/")) '提交相对路径
key2=split(key,"/")(ubound(split(key,"/"))) '提取文件名
set fso=server.createobject("Scripting.FileSystemObject") '创建文件系统
folderpath=server.MapPath(key1)
set folder=fso.GetFolder(folderpath)
set allfile=folder.Files
for each fileitem in allfile
    if left(fileitem.Name,instrRev(fileitem.Name,".")-1)=key2 then
       response.write fileitem.Name&"<br>"
    end if
next
%>
#3
soarb2008-08-28 19:12
嗯.我试试
#4
hahatuzi20002008-08-28 21:14
啊,学习的动力来了.
我本想学会ASP后,学学PHP呢.从网上找资料,ASP的最少了.没想到居然有人从PHP转到ASP.

看来ASP还是很有前途的.
我自己试试看.
<%
dim a,b,c
a=要查询的文件,包括相对路径的.
b=split(a,"/")
c=ubound(b) 'c就是要找的文件名字.
%>
未完成,发现2#的比较好,借过来用用.
<%
dim key,key1,key2
key="/2008-08/200808271750" '关键字
key1=left(key,instrRev(key,"/")) '提交相对路径
key2=split(key,"/")(ubound(split(key,"/"))) '提取文件名
set fso=server.createobject("Scripting.FileSystemObject") '创建文件系统
folderpath=server.MapPath(key1)
set folder=fso.GetFolder(folderpath)
set allfile=folder.Files
'以上的是向2#学习的内容.
for each x in allfile
   if x.Getbasename=k2             '获得文件的基本名字,不包括后缀.
   then response.wrtie("文件存在")
   end if
   if x.Getextensionname="rar"   '想要找的文件的后缀,这里是rar
   then response.write(k2& ".rar")    '输出想要找的文件.
   end if
next
%>
#5
multiple19022008-08-28 21:52
嗯,新手学习的精神值得肯定。

提个建议,可以写成递归的过程,比如searchFolder,这样程序结构清晰一些。
1