일부 특수 폴더 ASP는 완전히 표시할 수 없지만 unc 경로를 통해 삭제할 수 있지만 정확한 경로를 알아야 한다는 전제가 있습니다.
아직 이 문제가 표시되지 않는 경우가 있습니다. msdn을 살펴봤지만 더 나은 해결 방법이 없는 것 같아서 당분간 연구를 포기했습니다. 완전한 해결 방법을 아시는 분은 답변을 부탁드립니다. .
먼저 bat를 연결하여 잘못된 디렉터리를 만듭니다. 다음 코드를 복사하여 a.bat로 저장합니다.
다음과 같이 코드 코드를 복사합니다.
MD 보조 //
MD COM1//
MD COM2//
MD prn//
MD 콘 //
MD 널 //
MD 도트...//
MD 원닷..//
프로그램 코드
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
명시적인 옵션
response.charset = "UTF-8"
session.codepage = 65001
세션.시간 초과 = 1440
server.scripttimeout = 9999
'****************************
'이름: 디렉토리 목록 클래스
'저자 : 이핀
'날짜: 2010-4-28
'URL:
'설명: 디렉터리 목록 클래스는 잘못된 형식의 디렉터리 이름을 지원합니다.
'****************************
클래스 FsoCl
개인 FSO
공개 FsoObj
비공개 하위 클래스_초기화
Fso=CreateObject("Scripting.FileSystemObject")를 설정합니다.
FsoObj=Fso로 설정
서브 끝
비공개 하위 클래스_종료
Fso=아무것도 설정하지 않음
FsoObj=아무것도 설정하지 않음
서브 끝
함수 IsFolderExists(FolderPath)
fso.FolderExists(FolderPath)인 경우
IsFolderExists = true
또 다른
IsFolderExists = 거짓
종료 조건
기능 종료
함수 FolderItem(ByVal FolderDir)
Instr(FolderDir,":/")>0이면
폴더 디렉터리="//?/"&폴더 디렉터리&"/"
또 다른
FolderDir="//?/"&Server.MapPath(FolderDir)&"/"
종료 조건
IsFolderExists(FolderDir) = False인 경우
FolderItem=거짓
종료 기능
다음과 같은 경우 종료
희미한 폴더Obj,FolderList,F,i
나는=1
FolderObj=Fso.GetFolder(FolderDir) 설정
FolderList=FolderObj.SubFolders 설정
FolderItem="총 디렉터리 수:"&FolderObj.SubFolders.Count&"<hr>" & vbcrlf
FolderItem=FolderItem&"총 파일 수:"&FolderObj.Files.count&"<hr>" & vbcrlf
FolderList의 각 F에 대해
'응답.F.ShortName 쓰기
'응답.쓰기(instr(1,F.ShortName,"~",1))
IsFolderExists(FolderDir&F.Name) = True인 경우 Response.Write("T<br>" & vbcrlf)
If(instr(1,F.Name,".",0)>0) 그러면
응답.쓰기("T")
F.이름=바꾸기(F.이름,".","-")
다음과 같은 경우 종료
FolderItem=폴더항목&i&"├─폴더→"&F.이름&"<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>
</head>
<본문>
<%
희미한 F: F 설정 = 새로운 FsoCl
Response.write F.FolderItem("/")
%>
</body>
</html>