您的当前位置:首页正文

ASP读取文件夹文件列表

来源:筏尚旅游网


遍历目录下的所有文件和属性

<%

Function ShowFolderList(folderspec)

Dim fso, f, f1, fc, s,tmp

Set fso = CreateObject(\"Scripting.FileSystemObject\")

Set f = fso.GetFolder(folderspec)

Set fc = f.Files

For Each f1 in fc

tmp = \" \"

Select Case f1.Attributes

Case 0

tmp = \"Normal:普通文件\"

Case 1

tmp = \"ReadOnly:只读文件\"

Case 2

tmp = \"Hidden:隐藏文件\"

Case 4

tmp = \"System:系统文件\"

Case 16

tmp = \"Directory:文件夹或目录\"

Case 32

tmp = \"Archive:上次备份后已更改的文件\"

Case 1024

tmp = \"Alias:链接或快捷方式\"

Case 2048

tmp = \"Compressed:压缩文件\"

End Select

s = s s = s s = s s = s s = s s = s s = s s = s s = s s = s & \"

\" & \"\"

& f1.DateCreated & \"\"

& f1.DateLastAccessed & \"\" & f1.DateLastModified & \"\" & f1.Drive & \"\"

& tmp & \"\"

& f1.ParentFolder & \"\"

& f1.Path & \"\"

& f1.ShortName &\"\"

s = s & \"

\"

s = s & \"

\"

s = s & \"

\"

Next

ShowFolderList = s

End Function

Response.write ShowFolderList(Server.MapPath(\".\"))

%>

Name 属性DateCreated 属性DateLastAccessed 属性DateLastModified 属性Drive 属性Attributes 属性ParentFolder 属性Path 属性ShortName 属性ShortPath 属性Size 属性Type 属性
\" & \"\" & \"\" & \"\" & \"\" & \"\" & \"\" & \"\" & \"\"

& f1.Name & \"

\" & f1.ShortPath & \"\" & f1.Size & \"\" & f1.Type & \"\"

s = s & \"

Top

2 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-01-13 08:37:56 得分 0 <%

'递归算法简单示例,递归遍历指定目录下所有文件和子目录中的文件

'代码原创者:Jspadmin(飞云)

'个人网站 http://www.pifoo.com 提供免费博客申请

'你可以自由引用或修改本代码,但请保留连接或此注释

dir=\"/\" '请设置你要显示的目录,\"/\"为整站所有文件,\"../\"为上级目录下所有文件

set fso = createobject(\"scripting.filesystemobject\")

response.write \"指定目录下所有文件及所有子目录下文件显示如下:\" & \"
\"

iterate(server.mappath(dir))

function iterate(path)

dim folder, folders, files, file

set folder = fso.getfolder(path)

set files = folder.files

for each file in files

response.write file.path & \"
\"

next

set folders = folder.subfolders

for each f in folders

iterate f.path

next

end function

set fso=nothing

%>Top

3 楼jspadmin(阿笨狗http://www.pifoo.com域名空间专卖cn20、com50元)回复于 2006-01-13 08:40:46 得分 0 中文出错我只碰到这种情况,使用getparentfolder时中文路径出错.asp

<%

fpath=\"D:\\Inetpub\\wwwroot\\aspstudy\\netos\\资料\"

set fso=server.createobject(\"scripting.filesystemobject\")

set thisfolder=fso.getfolder(fpath)

set up=thisfolder.parentfolder

response.write up

set fso=nothing

%>

Top

4 楼wangying0722(莹莹)回复于 2006-01-13 12:51:06 得分 0 对不起,可能是我没说明白.我的意思是我可以列出某个路径下的所有文件名,但是一些中文文件名的文件在浏览器中无法打开.如何解决?谢谢Top

5 楼BlueDestiny(最近较少上网,有事请Email联系)回复于 2006-01-13 13:37:17 得分 0 我觉得你应该更深入的了解下面的知识

1)正则表达式,可以用来作匹配判断

2)FSO,用来遍历文件以及文件夹

下面是示例代码,找出当前文件夹所有的中文文档(doc,txt)

<%

rem Author: blueDestiny

Function iterateChineseFileName(fileFolder)

Set Folder=fso.getFolder(fileFolder)

Set FileSets=Folder.files

for Each f in FileSets

if re.test(f.name)=true then

response.Write f.Name & \"
\"

response.Flush

counter=counter+1

end if

next

if response.isclientconnected=false then response.End

Set SubFolder=Folder.SubFolders

For Each f in SubFolder

iterateChineseFileName(f.path)

Next

End Function

dim fso, re,fileFolder,counter

Set fso=Server.CreateObject(\"Scripting.FileSystemObject\")

Set re=new RegExp

re.global=true

re.ignorecase=false

re.pattern=\"^([\Α-\¥]+)(\\.txt|doc)$\"

fileFolder=server.mappath(\".\")

counter=1

iterateChineseFileName(fileFolder)

response.Write \"total chinese file(s) \" & counter & \"\"

%>Top

6 楼BlueDestiny(最近较少上网,有事请Email联系)回复于 2006-01-13 13:47:29 得分 0 刚才测了一下,正则写错了个地方,重贴一次吧

<%

rem Author: blueDestiny

Function iterateChineseFileName(fileFolder)

Set Folder=fso.getFolder(fileFolder)

Set FileSets=Folder.files

for Each f in FileSets

if re.test(f.name)=true then

response.Write f.path & \"
\"

response.Flush

counter=counter+1

end if

next

if response.isclientconnected=false then response.End

Set SubFolder=Folder.SubFolders

For Each f in SubFolder

iterateChineseFileName(f.path)

Next

End Function

dim fso, re,fileFolder,counter

Set fso=Server.CreateObject(\"Scripting.FileSystemObject\")

Set re=new RegExp

re.global=true

re.ignorecase=false

re.pattern=\"^([\Α-\¥]+)\\.(?:doc|txt)$\" fileFolder=server.mappath(\".\")

counter=1

iterateChineseFileName(fileFolder)

response.Write \"total chinese file(s) \" %>Top

& counter & \"\"

因篇幅问题不能全部显示,请点此查看更多更全内容