لا يمكن عرض بعض المجلدات الخاصة asp بشكل كامل، ولكن يمكن حذفها من خلال مسار unc، ولكن الفرضية هي أنه يجب معرفة المسار الدقيق
لا تزال هناك بعض الحالات التي لا يمكن فيها عرض هذه المشكلة، لقد بحثت في msdn ولا يبدو أنني وجدت حلاً أفضل. لقد تخليت عن مواصلة البحث في الوقت الحالي. قد يرغب أي شخص يعرف الحل الكامل في الرد .
أولاً، قم بإرفاق Bat لإنشاء دليل تالف، انسخ الكود التالي واحفظه باسم a.bat:
انسخ رمز الكود كما يلي:
ام دي ايه اكس //
مد كوم1 //
مد كوم2 //
دكتوراه في الطب برن//
إم دي يخدع //
إم دي لاغية//
النقطة المتوسطة...//
إم دي أونيدوت..//
رمز البرنامج
انسخ رمز الكود كما يلي:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
الخيار صريح
Response.charset = "UTF-8"
جلسة كود الصفحة = 65001
مهلة الجلسة = 1440
server.scripttimeout = 9999
'*********************************
'الاسم: فئة قائمة الدليل
'المؤلف: ييبين
التاريخ: 2010-4-28
"عنوان URL:
'الوصف: فئة قائمة الدليل، تدعم أسماء الأدلة المشوهة
'*********************************
فئة FsoCls
فسو الخاص
FsoObj العامة
فئة فرعية خاصة_تهيئة
تعيين Fso=CreateObject("Scripting.FileSystemObject")
اضبط FsoObj=Fso
نهاية الفرعية
فئة فرعية خاصة_إنهاء
تعيين Fso = لا شيء
تعيين FsoObj=لا شيء
نهاية الفرعية
الدالة IsFolderExists(FolderPath)
إذا كان fso.FolderExists(FolderPath) إذن
IsFolderExists = صحيح
آخر
IsFolderExists = false
نهاية إذا
وظيفة النهاية
وظيفة FolderItem (ByVal FolderDir)
إذا كان Instr(FolderDir,":/")>0 إذن
FolderDir="//?/"&FolderDir&"/"
آخر
FolderDir="//?/"&Server.MapPath(FolderDir)&"/"
نهاية إذا
إذا كان IsFolderExists(FolderDir) = خطأ إذن
FolderItem=خطأ
وظيفة الخروج
انتهي إذا
Dim FolderObj,FolderList,F,i
أنا = 1
تعيين FolderObj=Fso.GetFolder(FolderDir)
تعيين FolderList=FolderObj.SubFolders
FolderItem="إجمالي عدد الدلائل:"&FolderObj.SubFolders.Count&"<hr>" & vbcrlf
FolderItem=FolderItem&"إجمالي عدد الملفات:"&FolderObj.Files.count&"<hr>" & vbcrlf
لكل F في FolderList
'الاستجابة.اكتب F.ShortName
'Response.Write (instr(1,F.ShortName,"~",1))
إذا كان IsFolderExists(FolderDir&F.Name) = صحيح، فاكتب الاستجابة ("T<br>" & vbcrlf)
إذا (instr(1,F.Name,".",0)>0) ثم
الاستجابة.الكتابة ("T")
F.Name=Replace(F.Name,"."،"-")
انتهي إذا
FolderItem=FolderItem&i&"├─Folder→"&F.Name&"<br>" & vbcrlf
ط=ط+1
التالي
تعيين FolderList=لا شيء
تعيين FolderObj=لا شيء
وظيفة النهاية
نهاية الفصل
%>
<!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">
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>تدعم فئة قائمة الدليل أسماء الأدلة المشوهة</title>
</الرأس>
<الجسم>
<%
Dim F: Set F = FsoCls الجديد
الاستجابة.كتابة F.FolderItem("/")
%>
</الجسم>
</html>