일부 특수 폴더 asp는 완전히 표시되지 않는데 unc 경로를 통해 삭제할 수는 있지만 정확한 경로를 알아야 한다는 전제하에 현재는 msdn을 통해 살펴보니 아직 표시되지 않는 경우가 있습니다. 더 나은 해결책이 보이지 않는 것 같아 당분간 연구를 포기하고 완전한 해결책을 알고 있는 친구들이 답장을 보낼 수도 있습니다.
먼저 bat를 연결하여 잘못된 디렉터리를 만듭니다. 다음 코드를 a.bat로 복사하여 저장합니다.
다음과 같이 코드 코드를 복사합니다.
MD 보조 //
MD COM1//
MD COM2//
MD prn//
MD 콘 //
MD 널 //
MD 도트...//
MD 원닷..//
프로그램 코드
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=65001%>
<%
명시적인 옵션
response.charset = UTF-8
session.codepage = 65001
세션.시간 초과 = 1440
server.scripttimeout = 9999
'****************************
'이름: 디렉토리 목록 클래스
'저자 : 이핀
'날짜: 2010-4-28
'웹사이트: www.vevb.com
'설명: 디렉토리 목록 클래스는 잘못된 디렉토리 이름을 지원합니다.
'****************************
클래스 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=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>