当前位置:首页 > ASP教程 > 应用技巧

ASP FSO显示特殊文件夹的实现代码(畸形目录名、UNC路径)

这个目前还是有个别无法显示,翻了下msdn貌似没看到更好的解决方案,暂时放弃继续研究,有晓得完全解决的朋友不妨回复说一声。
先附bat创建畸形目录,以下代码复制另存为a.bat:
复制代码 代码如下:

md aux\
md com1\
md com2\
md prn\
md con\
md nul\
md dot...\
md onedot..\

程序代码
复制代码 代码如下:

<%@language="vbscript" codepage="65001"%>
<%
option explicit
response.charset = "utf-8"
session.codepage = 65001
session.timeout = 1440
server.scripttimeout = 9999
'***************************
'名称:目录列表类
'作者:逸品
'日期:2010-4-28
'网址:www.jb51.net
'描述:目录列表类,支持畸形目录名
'***************************
class fsocls
private fso
public fsoobj
private sub class_initialize
set fso=createobject("scripting.filesystemobject")
set fsoobj=fso
end sub
private sub class_terminate
set fso=nothing
set fsoobj=nothing
end sub
function isfolderexists(folderpath)
if fso.folderexists(folderpath) then
isfolderexists = true
else
isfolderexists = false
end if
end function
function folderitem(byval folderdir)
if instr(folderdir,":")>0 then
folderdir="\?"&folderdir&""
else
folderdir="\?"&server.mappath(folderdir)&""
end if
if isfolderexists(folderdir) = false then
folderitem=false
exit function
end if
dim folderobj,folderlist,f,i
i=1
set folderobj=fso.getfolder(folderdir)
set folderlist=folderobj.subfolders
folderitem="目录总数:"&folderobj.subfolders.count&"<hr>" & vbcrlf
folderitem=folderitem&"文件总数:"&folderobj.files.count&"<hr>" & vbcrlf

for each f in folderlist
'response.write f.shortname
'response.write (instr(1,f.shortname,"~",1))
if isfolderexists(folderdir&f.name) = true then response.write ("t<br>" & vbcrlf)
if(instr(1,f.name,".",0)>0) then
response.write ("t")
f.name=replace(f.name,".","-")
end if
folderitem=folderitem&i&"├─文件夹→"&f.name&"<br>" & vbcrlf
i=i+1
next
set folderlist=nothing
set folderobj=nothing
end function
end class
%>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>目录列表类 支持畸形目录名</title>
</head>
<body>
<%
dim f: set f = new fsocls
response.write f.folderitem("/")
%>
</body>
</html>

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!