ASP文件操作之如何列出目录及其下的文件

闲暇之余,帮助一朋友实现了在线文件简易管理器,只是简单地列举目录及目录下面的所有文件。把以下文件建在同一目录,IIS中确定文件操作组件可用,即可用ASP列出文件和目录了.
   
  ----文件folder.inc----- 
  〈% 
  folderini="c:" 
  %〉 
   
   
  ----文件index.asp----- 
  〈!--#Include file="folder.inc"--〉 
  〈html〉 
  〈head〉 
  〈title〉FileSearch〈/title〉 
  〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉 
  〈/head〉 
   
  〈frameset rows="80,*" frameborder="1" border="1" framespacing="1" cols="*"〉 
   〈frame name="topFrame" scrolling="NO" src="up.asp" 〉 
   〈frame name="mainFrame" src="getinfo.asp?foldinfo=〈%=folderini%〉"〉 
  〈/frameset〉 
  〈noframes〉〈body bgcolor="#FFFFFF"〉 
   
  〈/body〉〈/noframes〉 
  〈/html〉 
   
   
   
  ----文件up.asp----- 
  〈!--#Include file="folder.inc"--〉 
  〈html〉〈title〉Up〈/title〉 
  〈head〉 
  〈style type="text/css"〉 
  〈!-- 
  .ttl1_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  .cnt_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  A:link{color:#0000ff;text-decoration: none} 
  A:visited {color:#0000ff;text-decoration: none} 
  A:active {color:#33ccff;text-decoration: underline} 
  A:hover {color:#33ccff;text-decoration: underline} 
  body{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  Tr{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  TD{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt 
  --〉 
  〈/style〉 
   
  〈/head〉 
  〈table width="780" border="0" cellspacing="1" cellpadding="1"〉 
   〈tr align="center"〉 
   〈td align="center"〉〈a href="getinfo.asp?foldinfo=〈%=folderini%〉" target="mainFrame"〉List All Folder/File Info〈/a〉 
   〈/td〉 
   〈/tr〉 
  〈/table〉 
  〈/html〉 
   
   
   
  ----文件getinfo.asp----- 
  〈!--#Include file="folder.inc"--〉 
  〈%foldinfo=trim(Request.Querystring("foldinfo"))%〉 
  〈html〉 
  〈head〉 
  〈title〉GetInfo〈/title〉 
  〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉 
  〈style type="text/css"〉 
  〈!-- 
  .ttl1_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  .cnt_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  A:link{color:#0000ff;text-decoration: none} 
  A:visited {color:#0000ff;text-decoration: none} 
  A:active {color:#33ccff;text-decoration: underline} 
  A:hover {color:#33ccff;text-decoration: underline} 
  body{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  Tr{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  TD{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt 
  --〉 
  〈/style〉 
  〈Script Language="JavaScript"〉 
  function fileinfo(filenamecode,filesize,lastmodify){ 
  //document.write(filenamecode); 
  window.open("fileinfo.asp?filename="+filenamecode+"&filesize="+filesize+"&
lastmodify="+lastmodify,"","height=200,width=450,resizable=yes,scrollbars=yes,
status=yes,toolbar=no,menubar=no,location=no"); 
  } 
  〈/Script〉 
  〈/head〉 
   
  〈body bgcolor="#FFFFFF" text="#000000"〉 
  〈table width="780" border="0" cellspacing="0" cellpadding="0"〉 
   〈tr〉 
   〈td class="cnt_txt"〉 〈font color="#000000"〉Current Folder:--〈/font〉
〈font color="#FF7120"〉〈%=foldinfo%〉〈/font〉〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td〉 
   〈hr size="1"〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td〉 
   〈table width="780" border="0" cellspacing="1" cellpadding="1"〉 
   〈tr bgcolor="#00CC00"〉 
   〈td width="300" class="cnt_txt"〉Folder Name:〈/td〉 
   〈td width="180" class="cnt_txt"〉Size:〈/td〉 
   〈td width="300" class="cnt_txt"〉LastModify:〈/td〉 
   〈/tr〉 
   〈/table〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td align="right" class="cnt_txt"〉 
   〈% 
   upfolder=left(foldinfo,len(foldinfo)-1) 
   upfolder=left(upfolder,InstrRev(upfolder, "")) 
   if foldinfo〈〉folderini then 
   response.write("〈a href=’getinfo.asp?foldinfo="&upfolder&"’〉Parent Folder〈/a〉") 
   else 
   response.write("Parent Folder") 
   end if%〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td class="cnt_txt"〉 
   〈% ShowFolderList(foldinfo) %〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td class="cnt_txt"〉 
   〈table width="780" border="0" cellspacing="1" cellpadding="1"〉 
   〈tr bgcolor="#009999"〉 
   〈td width="300"〉File Name:〈/td〉 
   〈td width="180"〉Size:〈/td〉 
   〈td width="300"〉LastModify:〈/td〉 
   〈/tr〉 
   〈/table〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td class="cnt_txt"〉 
   〈% showfolderinfo(foldinfo)%〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td〉 〈/td〉 
   〈/tr〉 
  〈/table〉 
   
  〈% 
  Sub ShowFolderList(folderspec) 
   Dim fs, f, f1, fc, s, schild,p,fsize 
   Set fs = CreateObject("Scripting.FileSystemObject") 
   Set f = fs.GetFolder(folderspec) 
   Set fc = f.SubFolders 
   For Each f1 in fc 
   s = f1.name 
   ’s = s & vbCrLf 
   p = f1.DateLastModified 
   fsize = f1.Size 
   schild=folderspec&s&"" 
   
  Response.write("〈table width="’780’" border="’0’" border="’0’" cellpadding=’1’〉") 
  Response.write("〈tr〉") 
  Response.write("〈td width="’300’" bgcolor="’#ECFFD9’〉
〈font" face=’Wingdings’ font bgcolor="’#ECFFD9’〉〈font" href=’getinfo.asp?foldinfo="&schild&"’〉"&s&"〈/a〉〈/td〉") 
  Response.write("〈td width="’180’" bgcolor=’#ECFFD9’〉"&fsize&"〈/td〉") 
  Response.write("〈td width="’300’" bgcolor=’#ECFFD9’〉"&p&"〈/td〉") 
  Response.write("〈/tr〉") 
  Response.write("〈/table〉") 
   
   Next 
  End Sub 
   
  Sub showfolderinfo(folderspc) 
  set MyFileObject=Server.CreateObject("Scripting.FileSystemObject") 
   
   
  Set MyFolder=MyFileObject.GetFolder(folderspc) 
   
  for each thing in MyFolder.Files 
   ’Response.write("〈br〉"&thing) 
   ’===============Get file information 
   Set afile=MyFileObject.GetFile(thing) 
   
   ’==========filename correct code 
   filenamecode=afile.name 
   filedetail=folderspc+filenamecode 
   filedetail=replace(filedetail,"","*s_p_l_i_t*") 
   filewidth="’300’" 
   lastmodify=afile.DateLastModified 
   
  Response.write("〈table width="’780’" border="’0’" border="’0’" cellpadding=’1’〉") 
  Response.write("〈tr〉") 
  Response.write("〈td width="’300’" bgcolor="’#f4f4ff’〉
〈font" face=’Wingdings’ font bgcolor="’#f4f4ff’〉〈font" href="&chr(34)&"javascript:fileinfo(’"&filedetail&"’,’"&filesize&"’,’"&lastmodify&"’)"&chr(34)&"〉"&filenamecode&"〈/a〉〈/td〉") 
  Response.write("〈td width="’180’" bgcolor=’#f4f4ff’〉"&filesize&"〈/td〉") 
  Response.write("〈td width="’300’" bgcolor=’#f4f4ff’〉"&lastmodify&"〈/td〉") 
  Response.write("〈/tr〉") 
  Response.write("〈/table〉") 
  Next 
  End sub 
  %〉 
  〈/body〉 
  〈/html〉 
   
   
  ----文件fileinfo.asp----- 
  〈% 
  filename=Request.QueryString("filename") 
  filename=replace(filename,"*s_p_l_i_t*","") 
  filewidth="’300’"("filesize") 
  lastmodify=Request.QueryString("lastmodify") 
  %〉 
  〈html〉 
  〈head〉 
  〈style type="text/css"〉 
  〈!-- 
  .ttl1_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  .cnt_txt { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  A:link{color:#0000ff;text-decoration: none} 
  A:visited {color:#0000ff;text-decoration: none} 
  A:active {color:#33ccff;text-decoration: underline} 
  A:hover {color:#33ccff;text-decoration: underline} 
  body{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  Tr{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt} 
  TD{font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 9pt 
  --〉 
  〈/style〉 
  〈/head〉 
  〈body〉 
  〈% 
  ’Response.write filename&"〈br〉"&filesize&"〈br〉"&lastmodify 
  %〉 
  〈table width="400" border="0" cellspacing="0" cellpadding="0"〉 
   〈tr〉 
   〈td bgcolor="#00CC00" colspan="2"〉Current File Info:〈/td〉 
   〈/tr〉 
   〈tr valign="top"〉 
   〈td width="110"〉File Location:〈/td〉 
   〈td width="290"〉〈font color="#990000"〉〈font face=’Wingdings’
 font width="’300’" 〈%=filename%〉〈/b〉〈/font〉〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td colspan="2"〉 
   〈hr size="1"〉 
   〈/td〉 
   〈/tr〉 
   〈tr valign="top"〉 
   〈td height="11"〉File Size: 〈/td〉 
   〈td height="11"〉〈%=filesize%〉 bytes〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td colspan="2"〉 
   〈hr size="1"〉 
   〈/td〉 
   〈/tr〉 
   〈tr valign="top"〉 
   〈td〉LastModify: 〈/td〉 
   〈td〉〈%=lastmodify%〉〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td colspan="2"〉 
   〈hr size="1"〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td height="18" colspan="2"〉 
   〈p〉Please Use appropriate Application to Open this File.〈/p〉 
   〈/td〉 
   〈/tr〉 
   〈tr〉 
   〈td height="13" align="right" colspan="2"〉
〈a href="javascript:this.window.close()"〉Close 
   Window〈/a〉〈/td〉 
   〈/tr〉 
  〈/table〉 
  〈/body〉 
  〈/html〉