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

ASP教程 2025-08-07

一些特殊的文件夹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

'网址:

'描述:目录列表类,支持畸形目录名

'***************************

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.**w*3.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 >