bianli(Server.MapPath(“/”)+”pic”)
InStrRev(“abcd.jpg”, “.”) 计算出abcd.jpg中第一次出现.所在的位置是第几个字符=5
mid(“abcd.jpg”,1,4) 取前四位abcd
mid(“abcd.jpg”,5) 从五位往后取(包括第五位) .jpg
取前缀abc
FullPath = “abc.jpg”
f = mid(FullPath,1,InStrRev(FullPath, “.”)-1)
Response.Write f
娶后缀jpg
FullPath = “abc.jpg”
f = mid(FullPath,InStrRev(FullPath, “.”)+1)
Response.Write f
<%
Set MyFileObject=Server.CreateObject(“Scripting.FileSystemObject”)’创建一个Folder对象
foldername=server.mappath(“./”)
Set MyFolder=MyFileObject.GetFolder(foldername)
i=0’循环显示其中文件夹
response.write “显示文件夹:”
For Each thing in MyFolder.subfolders
Response.Write(”
“&thing)
i=i+1
Next
response.write ”
共有”&i&”个文件夹”
response.write ”
显示文件名”‘循环显示其中文件
i=0
For Each thing in MyFolder.Files
Response.Write(”
“&thing)
i=i+1
Next
response.write ”
共有”&i&”个文件”
%>
<%
Set MyFileObject=Server.CreateObject(“Scripting.FileSystemObject”)’创建一个Folder对象
Set MyFolder=MyFileObject.GetFolder(server.mappath(“.”))
For Each thing in MyFolder.Files
thing=mid(thing,InStrRev(thing, “”)+1)
f = mid(thing,InStrRev(thing, “.”)+1)
Set Reg = New RegExp
Reg.Pattern=”test”
Set Matche=Reg.Execute(thing) ‘正则匹配Matches.Count<1表示不选;Matches.Count>1 就是匹配到选中
Reg.Pattern=”lin”
Set Matches=Reg.Execute(thing)
IF Matches.Count<1 And Matche.Count<1 And f=”asp” And thing<>”lin.asp” And thing<>”tpl.asp” And thing<>”tiao.asp” And thing<>”master.asp” And thing<>”delete.asp” Then
Response.Write thing
Response.Write(”
“)
End If
Next
%>
————————————————————————————————————————————
生用的遍历文件:
<%@language=”vbscript” codepage=”65001″%>
<%
Response.Expires = 0
function bianli(path)
dim fso ‘fso对象
dim objFolder ‘文件夹对象
dim objFiles ‘文件集合
dim objFile ‘文件对象
set fso=server.CreateObject(“scripting.filesystemobject”)
on error resume next
set objFolder=fso.GetFolder(path)’创建文件夹对象
set objSubFolders=objFolder.Subfolders’
for each objSubFolder in objSubFolders
nowpath=path + objSubFolder.name + “”
Response.Write nowpath
set objFiles=objFolder.Files
for each objFile in objFiles
Response.Write (objFile.name)
Response.Write ”
”
Next
bianli(nowpath) ‘调用递归
next
set objFolder=nothing
set objSubFolders=nothing
set fso=nothing
end function
%>
<% bianli(Server.MapPath(“/”) + “/new”) ‘调用bianli()函数,这里是遍历当前目录下的new文件夹 %>
—————————————————————————————————-
<%
Set fso=Server.CreateObject(“Scripting.FileSystemObject”)’创建一个Folder对象
fpath=”.”‘Request.form(“fpath”)
set objfolder=fso.getfolder(server.mappath(fpath))
for each objsubfolder in objfolder.subfolders
Response.write “子文件夹名称:” & objsubfolder.name & ”
”
next
Response.write ”
”
for each objfile in objfolder.files
Response.write objfile.name & ”
”
exitname=fso.GetExtensionName(objfile.name)’文件后缀也可以用这获取f = mid(thing,InStrRev(thing, “.”)+1)’取asp后缀的文件 f=”asp”
response.Write exitname & ”
”
next
set objfolder=nothing
%>
—————————————————————————————–
<% Sub GetFolderObj(FD_getfolder) For each SFolder in FD_getfolder.subfolders call GetFileObj(SFolder) call GetFolderObj(SFolder) Next End Sub Sub GetFileObj(FD_getfile) WritePath(FD_getfile) For each MF in FD_getfile.files call WriteFileMes(MF) Next End Sub Sub WriteFileMes(MyFileObj) %>
<%=MyFileObj.name%><%=MyFileObj.size%><%=MyFileObj.DateCreated %><%=MyFileObj.DateLastAccessed%><%=MyFileObj.DateLastModified%><%=MyFileObj.Type%>
<% End Sub Sub WritePath(FDObj) %>
<%=FDObj.path%>下面的文件有:
<%
End Sub
Sub main()
Set fso =Server.CreateObject(“Scripting.FileSystemObject”)
Set PFD=fso.getfolder(server.MapPath(“.”))
Response.Write(”
“)call GetFileObj(PFD)call GetFolderObj(PFD)Response.Write(”
“)
End sub
%>
<% call main() ‘调用主程序 %>
转载请注明:落伍老站长 » asp读取指定目录下的文件名-学习asp编程