Beberapa folder khusus asp tidak dapat ditampilkan sepenuhnya, tetapi dapat dihapus melalui jalur unc, tetapi premisnya adalah jalur pastinya harus diketahui. Saat ini, masih ada beberapa kasus yang tidak dapat ditampilkan sepertinya tidak melihat solusi yang lebih baik, hentikan penelitian untuk saat ini, dan teman yang mengetahui solusi lengkap mungkin ingin membalas.
Pertama, lampirkan bat untuk membuat direktori yang salah format. Salin dan simpan kode berikut sebagai a.bat:
Copy kode kodenya sebagai berikut:
md aux//
md com1//
md com2//
md prn//
md con //
md nol//
md titik...//
md onedot..//
kode program
Copy kode kodenya sebagai berikut:
<%@LANGUAGE=KODE VBSCRIPT=65001%>
<%
pilihan eksplisit
respon.charset = UTF-8
sesi.halaman kode = 65001
sesi.batas waktu = 1440
server.scripttimeout = 9999
'***************************
'Nama: kelas daftar direktori
'Penulis: Yipin
'Tanggal: 28-4-2010
'Situs web: www.vevb.com
'Deskripsi: Kelas daftar direktori, mendukung nama direktori yang salah format
'***************************
Kelas FsoCls
Swasta Fso
FsoObj Publik
Sub Kelas Pribadi_Inisialisasi
Setel Fso=CreateObject(Scripting.FileSystemObject)
Tetapkan FsoObj=Fso
Akhiri Sub
Sub Kelas Pribadi_Terminate
Tetapkan Fso=Tidak Ada
Setel FsoObj=Tidak Ada
Akhiri Sub
Fungsi IsFolderExists (FolderPath)
Jika fso.FolderExists(FolderPath) Lalu
IsFolderExists = benar
Kalau tidak
IsFolderExists = salah
Akhiri Jika
Fungsi Akhir
Fungsi FolderItem(ByVal FolderDir)
Jika Instr(FolderDir,:/)>0 Lalu
FolderDir=//?/&FolderDir&/
Kalau tidak
FolderDir=//?/&Server.MapPath(FolderDir)&/
Akhiri Jika
Jika IsFolderExists(FolderDir) = Salah Maka
FolderItem=Salah
Fungsi Keluar
Berakhir jika
Redupkan FolderObj,FolderList,F,i
saya=1
Setel FolderObj=Fso.GetFolder(FolderDir)
Setel FolderList=FolderObj.SubFolder
FolderItem=Jumlah total direktori: &FolderObj.SubFolders.Count&<hr> & vbcrlf
FolderItem=FolderItem&Jumlah total file: &FolderObj.Files.count&<hr> & vbcrlf
Untuk Setiap F Dalam FolderList
'Respon.Tulis F.ShortName
'Respon.Tulis (instr(1,F.ShortName,~,1))
Jika IsFolderExists(FolderDir&F.Name) = Benar Maka Response.Write (T<br> & vbcrlf)
If(instr(1,F.Name,.,0)>0) Lalu
Respon.Tulis(T)
F.Nama=Ganti(F.Nama,.,-)
Berakhir jika
FolderItem=FolderItem&i&├─Folder→&F.Nama&<br> & vbcrlf
saya=saya+1
Berikutnya
Setel DaftarFolder=Tidak Ada
Setel FolderObj=Tidak Ada
Fungsi Akhir
Kelas Akhir
%>
<!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>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=utf-8 />
<title>Kelas daftar direktori mendukung format nama direktori yang salah</title>
</kepala>
<tubuh>
<%
Redupkan F: Tetapkan F = FsoCls baru
Respon.tulis F.FolderItem(/)
%>
</tubuh>
</html>