ASP FSO顯示特殊文件夾的實現(xiàn)代碼(畸形目錄名、UNC路徑)
更新時間:2012年03月03日 21:48:32 作者:
一些特殊的文件夾asp是沒法完全顯示出來的,但是可以通過unc路徑去刪除,但前提是得知道準(zhǔn)確路徑
這個目前還是有個別無法顯示,翻了下msdn貌似沒看到更好的解決方案,暫時放棄繼續(xù)研究,有曉得完全解決的朋友不妨回復(fù)說一聲。
先附bat創(chuàng)建畸形目錄,以下代碼復(fù)制另存為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
'網(wǎng)址:www.dbjr.com.cn
'描述:目錄列表類,支持畸形目錄名
'***************************
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="目錄總數(shù):"&FolderObj.SubFolders.Count&"<hr>" & vbcrlf
FolderItem=FolderItem&"文件總數(shù):"&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>
先附bat創(chuàng)建畸形目錄,以下代碼復(fù)制另存為a.bat:
復(fù)制代碼 代碼如下:
md aux\\
md com1\\
md com2\\
md prn\\
md con\\
md nul\\
md dot...\\
md onedot..\\
程序代碼
復(fù)制代碼 代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
option explicit
response.charset = "UTF-8"
session.codepage = 65001
session.timeout = 1440
server.scripttimeout = 9999
'***************************
'名稱:目錄列表類
'作者:逸品
'日期:2010-4-28
'網(wǎng)址:www.dbjr.com.cn
'描述:目錄列表類,支持畸形目錄名
'***************************
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="目錄總數(shù):"&FolderObj.SubFolders.Count&"<hr>" & vbcrlf
FolderItem=FolderItem&"文件總數(shù):"&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>
相關(guān)文章
ASP javascript Application對象的Contents和StaticObjects做Cache的一些
ASP javascript: Application對象的Contents和StaticObjects做Cache的一些結(jié)論。 ASP封裝Cache對象,一般都是基于Application的,2008-05-05轉(zhuǎn)換中文為unicode 轉(zhuǎn)換unicode到正常文本
轉(zhuǎn)換中文為unicode 轉(zhuǎn)換unicode到正常文本...2006-10-10ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討
這篇文章主要介紹了ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討,需要的朋友可以參考下2007-02-02asp下將數(shù)據(jù)庫中的信息存儲至XML文件中
asp下將數(shù)據(jù)庫中的信息存儲至XML文件中...2007-04-04ASP類型網(wǎng)站結(jié)合動網(wǎng)論壇會員的方法
ASP類型網(wǎng)站結(jié)合動網(wǎng)論壇會員的方法...2007-11-11