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

一些特殊的文件夹asp是没法完全显示出来的,但是可以通过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.dlstu.com
'描述:目录列表类,支持畸形目录名
'***************************

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>

↓ 请大家多帮忙点下面的广告,有了微薄的广告收入,小博客才能继续一如既往的为大家提供更优质的内容,谢过大家了。

Tags:

评论: 0 | 引用: 0 | 查看次数: -
发表评论
搜 索:
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.