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

%>

(0)

相关推荐

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

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

  • 使用批处理文件生成文件列表清单

    使用批处理文件生成文件列表清单,友友们都会遇到这样的情况:想要复制一个文件夹下所有文件的名字,或者将所有文件的名字列出一个清单,用手工复制的话吃力不讨好还容易出差错.小编今天在这里分享一个简单的小方法,自制bat批处理命令自动生成文件清单方便一次性复制. 方法: 先进入文件目录下,建立一个.txt格式的纯文档文件. 在这个文本文档中复制下列命令,并且保存. 复制代码 代码如下: @echo off dir /b /on >list.txt 将这个文本文档的后缀名从.txt修改为.bat 双击执行

  • CI框架实现递归生成文件路径并重新生成图片功能

    本文实例讲述了CI框架实现递归生成文件路径并重新生成图片功能.分享给大家供大家参考,具体如下: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); set_time_limit(0); class Img_build extends CI_Controller{ private static $img_path = 'upload_old/'; private static $new_path =

  • 通过C#动态生成图书信息XML文件

    通过C#动态生成图书信息XML文件(Books.xml),文件如下: 复制代码 代码如下: <?xml version="1.0" encoding="iso-8859-1"?> <bookstore> <book id="1" category="CHILDREN"> <title>Harry Potter</title> <author>J K. Ro

  • asp下用fso和ado.stream写xml文件的方法

    asp按关键字查询XML的问题 '------------------------------------------------------ '读取文件 ReadTxtFile(FileName) '------------------------------------------------------ Function ReadTxtFile(FileName) Dim fso,f1,ts,FilePath FilePath=server.mappath(FileName) Set fs

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • Linux系统递归生成目录中文件的md5的方法

    linux下使用md5sum递归生成整个目录的md5 今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下 代码: <?php $path ='/data/www/bbs/source'; $outfile = 'file.md5'; get_file_md5($path, $outfile); function get_file_md5($path, $outfile) { $path = rtrim($path, '/'); if

  • java实现递归文件列表的方法

    本文实例讲述了java实现递归文件列表的方法.分享给大家供大家参考.具体如下: FileListing.java如下: import java.util.*; import java.io.*; /** * Recursive file listing under a specified directory. * * @author javapractices.com * @author Alex Wong * @author anonymous user */ public final cla

  • 用于cocos2d-x引擎(ndk)中为android项目生成编译文件列表

    复制代码 代码如下: package com.leeass.generate; import java.io.File;import java.io.FileFilter;import java.io.FileNotFoundException; /** * 用于cocos2d-x引擎中android项目编译文件列表生成 * @author leeassamite * */public class GenerateAndroidMakefile { /** 分隔符 */ private stat

  • c#递归生成XML实例

    本文实例讲述了c#递归生成XML的方法.分享给大家供大家参考.具体实现方法如下: 这里结合网上搜到的资料,写了个递归生成xml,经过调试可以使用,数据库结构如下图所示: 代码如下: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using Syste

随机推荐