FSO+遞迴組建檔案列表(xml)

來源:互聯網
上載者:User
fso|xml|遞迴


本來產生這個xml文檔是為了開發一個ftp的搜尋,後來由於沒有資料參考怎麼搜尋xml文檔,也就放棄了.其中最重要的是遞迴的演算法.組建檔案列表的速度很快.這個程式可以用於產生播放清單之類的東東.需要IIS的FSO組件支援.產生類似下面的XML文檔
<?xml version="1.0" encoding="gb2312"?>
<ftp ip="10.1.228.228">
<DIR path="Game">
<DIR path="仙劍奇俠傳2(save)">
<file size="346294">complete_camel.rar</file>
<file size="1886286">complete_funlove.rar</file>
</DIR>
</DIR>
</ftp>

make_file_list.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'######################################'
'## Copyright (C) 2003 醉雨梧桐 All rights reserved. ##'
'## Powered by 醉雨梧桐 ##'
'## http://btyz.51web.cn/ ##'
'## winterfire@163.com ##'
'######################################'
Dim objFo,objF,objAF,objFxml
set objFo=CreateObject("Scripting.FileSystemObject") '對象

set objFxml=objFo.OpenTextFile("G:\My Documents\http\Personal Works\FTP_Search\ftp.xml",2) '開啟檔案

objFxml.WriteLine("<?xml version=""1.0"" encoding=""gb2312""?>")
objFxml.WriteLine("<ftp ip=""10.1.228.228"">")
Call xml_list("F:\") '開始列表
objFxml.WriteLine("</ftp>")
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("<DIR path="""&OneDirName&""">") '產生<DIR path="檔案夾"></DIR>
SDirName=DirName&"\"&OneDir.Name '下一個遞迴的地址
Call xml_list(SDirName) '調用遞迴
objFxml.WriteLine("</DIR>")
End If '結束判斷
Next
set objSF=objFS.Files
For Each OneFile in objSF '列出檔案
objFxml.WriteLine("<file size="""&OneFile.size&""">"&OneFile.Name&"</file>") '產生<file>檔案名稱</file>
Next
End Function

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




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。