FSO+遞迴生成檔案列表(xml) (轉)

gugu99發表於2007-08-15
FSO+遞迴生成檔案列表(xml) (轉)[@more@]

本來生成這個文件是為了開發一個的搜尋,後來由於沒有資料參考怎麼搜尋xml文件,也就放棄了.其中最重要的是遞迴的演算法.生成列表的速度很快.這個可以用於生成列表之類的東東.需要IIS的支援.生成類似下面的XML文件




complete_camel.rar
complete_funlove.rar


make_file_list.
%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
'######################################'
'##  Copyright (C) 醉雨梧桐 All rights reserved.  ##'
'##  Powered by 醉雨梧桐  ##'
'##  .cn/">  ##'
'##    ##'
'######################################'
  Dim objFo,objF,objAF,objFxml
  set objFo=Create("Scripting.FileSystemObject") '
 
  set objFxml=objFo.OpenTextFile("G:My DocumentshttpPersonal WorksFTP_Searchftp.xml",2) '開啟檔案

  objFxml.WriteLine("")
  objFxml.WriteLine("")
  Call xml_list("F:")  '開始列表
  objFxml.WriteLine("
")
  Response.Write("List is OK!)  '列表成功


Function xml_list(DirName)
  set objFS=objFo.GetFolder(DirName)
  set objASD=objFS.SubFolders
  For Each OneDir in objASD
  strFdName=Trim(OneDir.Name)
  '下面所列的資料夾不生成在列表中(檔案或者隱藏檔案)
  If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then
  OneDirName=xml_format(OneDir.Name)  '對&進行轉義
  objFxml.WriteLine("

")  '生成
  SDirName=DirName&""&OneDir.Name  '下一個遞迴的地址
  Call xml_list(SDirName)  '遞迴
  objFxml.WriteLine("
")
  End If  '結束判斷
  Next
  set obj=objFS.Files
  For Each OneFile in objSF  '列出檔案
  objFxml.WriteLine(""&OneFile.Name&"")  '生成檔名
  Next
End Function

'去掉XML不允許的字元
Function xml_format(strDirName)
  strDirName=Replace(strDirName,"&","&")  '把半形的&轉化為&
  xml_format=strDirName
End Function
%>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-959470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章