服务器之家

服务器之家 > 正文

FSO+递归生成文件列表(xml)

时间:2019-11-01 12:50     来源/作者:asp教程网

本来生成这个xml文档是为了开发一个ftp的搜索,后来由于没有资料参考怎么搜索xml文档,也就放弃了.其中最重要的是递归的算法.生成文件列表的速度很快.这个程序可以用于生成播放列表之类的东东.需要IIS的FSO组件支持.生成类似下面的XML文档

  1. <?xml version="1.0" encoding="gb2312"?>  
  2. <ftp ip="10.1.228.228">  
  3. <DIR path="Game">  
  4. <DIR path="仙剑奇侠传2(save)">  
  5. <file size="346294">complete_camel.rar</file>  
  6. <file size="1886286">complete_funlove.rar</file>  
  7. </DIR>  
  8. </DIR>  
  9. </ftp>  
  10.  
  11. make_file_list.asp  
  12. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>  
  13. <%  
  14. '######################################'  
  15. '## Copyright (C) 2003 醉雨梧桐 All rights reserved. ##'  
  16. '## Powered by 醉雨梧桐 ##'  
  17. '## http://btyz.51web.cn/ ##'  
  18. '## winterfire@163.com ##'  
  19. '######################################'  
  20. Dim objFo,objF,objAF,objFxml  
  21. set objFo=CreateObject("Scripting.FileSystemObject") '对象  
  22.  
  23. set objFxml=objFo.OpenTextFile("G:\My Documents\http\Personal Works\FTP_Search\ftp.xml",2) '打开文件  
  24.  
  25. objFxml.WriteLine("<?xml version=""1.0"" encoding=""gb2312""?>")  
  26. objFxml.WriteLine("<ftp ip=""10.1.228.228"">")  
  27. Call xml_list("F:\") '开始列表  
  28. objFxml.WriteLine("</ftp>")  
  29. Response.Write("List is OK!) '列表成功  
  30.  
  31.  
  32. Function xml_list(DirName)  
  33. set objFS=objFo.GetFolder(DirName)  
  34. set objASD=objFS.SubFolders  
  35. For Each OneDir in objASD  
  36. strFdName=Trim(OneDir.Name)  
  37. '下面所列的文件夹不生成在列表中(系统文件或者隐藏文件)  
  38. If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then  
  39. OneDirName=xml_format(OneDir.Name) '对&进行转义  
  40. objFxml.WriteLine("<DIR path="""&OneDirName&""">") '生成<DIR path="文件夹"></DIR>  
  41. SDirName=DirName&"\"&OneDir.Name '下一个递归的地址  
  42. Call xml_list(SDirName) '调用递归  
  43. objFxml.WriteLine("</DIR>")  
  44. End If '结束判断  
  45. Next  
  46. set objSF=objFS.Files  
  47. For Each OneFile in objSF '列出文件  
  48. objFxml.WriteLine("<file size="""&OneFile.size&""">"&OneFile.Name&"</file>") '生成<file>文件名</file>  
  49. Next  
  50. End Function  
  51.  
  52. '去掉XML不允许的字符  
  53. Function xml_format(strDirName)  
  54. strDirName=Replace(strDirName,"&","&") '把半角的&转化为&  
  55. xml_format=strDirName  
  56. End Function  
  57. %>  
标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部