Einige spezielle Ordner asp können nicht vollständig angezeigt werden, sie können jedoch über den UNC-Pfad gelöscht werden. Voraussetzung ist jedoch, dass der genaue Pfad bekannt ist
Es gibt immer noch Fälle, in denen dieses Problem nicht angezeigt werden kann, und ich habe anscheinend keine bessere Lösung gefunden. Ich habe es vorerst aufgegeben, die Suche fortzusetzen .
Hängen Sie zunächst bat an, um ein fehlerhaftes Verzeichnis zu erstellen. Kopieren Sie den folgenden Code und speichern Sie ihn als.bat:
Kopieren Sie den Codecode wie folgt:
md aux//
md com1//
md com2//
md prn//
md con//
md nul//
md dot...//
md onedot..//
Programmcode
Kopieren Sie den Codecode wie folgt:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option explizit
Response.charset = „UTF-8“
session.codepage = 65001
session.timeout = 1440
server.scripttimeout = 9999
'****************************
'Name: Verzeichnislistenklasse
'Autor: Yipin
„Datum: 28.04.2010
'URL:
'Beschreibung: Verzeichnislistenklasse, unterstützt fehlerhafte Verzeichnisnamen
'****************************
Klasse FsoCls
Privater Fso
Öffentliches FsoObj
Private Sub Class_Initialize
Setze Fso=CreateObject("Scripting.FileSystemObject")
Setzen Sie FsoObj=Fso
Sub beenden
Private Unterklasse_Terminate
Setze Fso=Nothing
Setze FsoObj=Nothing
Sub beenden
Funktion IsFolderExists(FolderPath)
Wenn fso.FolderExists(FolderPath) Dann
IsFolderExists = true
Anders
IsFolderExists = false
Ende wenn
Funktion beenden
Funktion FolderItem(ByVal FolderDir)
Wenn Instr(FolderDir,":/")>0 Dann
FolderDir="//?/"&FolderDir&"/"
Anders
FolderDir="//?/"&Server.MapPath(FolderDir)&"/"
Ende wenn
Wenn IsFolderExists(FolderDir) = False, dann
FolderItem=False
Exit-Funktion
Beenden Sie, wenn
Dim FolderObj,FolderList,F,i
i=1
Setze FolderObj=Fso.GetFolder(FolderDir)
Legen Sie FolderList=FolderObj.SubFolders fest
FolderItem="Gesamtzahl der Verzeichnisse:"&FolderObj.SubFolders.Count&"<hr>" & vbcrlf
FolderItem=FolderItem&"Gesamtzahl der Dateien:"&FolderObj.Files.count&"<hr>" & vbcrlf
Für jedes F in FolderList
'Response.Write F.ShortName
'Response.Write (instr(1,F.ShortName,"~",1))
Wenn IsFolderExists(FolderDir&F.Name) = True, dann Response.Write ("T<br>" & vbcrlf)
If(instr(1,F.Name,".",0)>0) Dann
Response.Write("T")
F.Name=Replace(F.Name,".","-")
Beenden Sie, wenn
FolderItem=FolderItem&i&"├─Folder→"&F.Name&"<br>" & vbcrlf
i=i+1
Nächste
Legen Sie FolderList=Nothing fest
Legen Sie FolderObj=Nothing fest
Funktion beenden
Unterricht beenden
%>
<!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">
<Kopf>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Verzeichnislistenklasse unterstützt fehlerhafte Verzeichnisnamen</title>
</head>
<Körper>
<%
Dim F: Setze F = neue FsoCls
Response.write F.FolderItem("/")
%>
</body>
</html>