0

如何使用 vbscript 写入 xml 文件???我想将各种文件的大小和类型打印成一个xml文件并列出来。我该怎么做?

例如:文件夹 E 有 3 个文件。所以想编写一个程序,该程序检查文件夹 E,并将其中所有文件的大小和类型列出到一个 xml 文件

请帮忙

下面是我编写的将文件夹的所有文件复制到文本文件的程序。但我想复制到 xml

Option Explicit
Dim objFSO,objf,objfolder, objFile, strFileProperties, strFiles,OBJFLD,objfile2
dim objf1,objfile1,objtextfile,strfolderproperties,objsubfld


Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objf= objFSO.Getfolder("C:\Test")
set OBJFLD=objf.subfolders

for each objfolder in OBJFLD

    strFolderproperties = strFolderproperties & "Number of files: " & objFolder.Files.Count & VbCrLf

    set objfile2=objfolder.files
    for each objfile in objfile2

        ' Display generel file properties
        strFileProperties = strFileProperties & "File name: " & objFile.Name & VbCrLf
        strFileProperties = strFileProperties & "File path: " & objFile.Path & VbCrLf
        strFileProperties = strFileProperties & "File size: " & objFile.Size & " bytes" & VbCrLf
        strFileProperties = strFileProperties & "File type: " & objFile.Type & VbCrLf & vbcrlf
     next
next


set objf1=objfso.getfolder("E:\logs3")
set objfile1=objfso.getfile( "E:\logs3\database.txt")

set objf1=nothing
set objfile1=nothing

set objtextfile=objfso.opentextfile("E:\logs3\database.txt",8,true)

objtextfile.writeline(strfileproperties)
objtextfile.close

set objf1=objfso.getfolder("E:\logs3")
set objfile1=objfso.getfile( "E:\logs3\database.txt")

set objf1=nothing
set objfile1=nothing


set objsubfld=objfso.opentextfile("E:\logs3\database.txt",8,true)
objsubfld.writeline(strfolderproperties)
objsubfld.close
4

1 回答 1

0

正如您所提到fciv的,您可以使用该程序来确定 .xml 文件的结构内容。即使使用 -r 调用,fciv也会创建一个平面的 FILE_ENTRY 列表——你需要一个层次结构吗?对于每个文件,fciv添加路径和签名元素 - 您提到的类型信息到底是什么?- 它应该编码为元素还是属性?- 关于文件,您还想了解什么?

您的规范可能应该明确地固定在模式 (.xsd) 文件中。

无论您决定更改/附加到由 .xmlfciv创建的文件,还是从头开始创建文件,您都需要一个XML 文档。使用它来加载修改后的fciv文件。创建/附加标准“标题”、对 .xsd 的引用和合适的根元素。

更改意味着遍历所有 FILE_ENTRY 节点并附加子元素和/或属性。

创建树应该使用带有父节点(文件夹元素)和文件夹的函数/子来完成。对于文件夹中的每个文件,应添加一个子节点(文件元素,具有合适的子/属性)。对于每个子文件夹,创建一个新的文件夹元素并将其(与子文件夹一起)递归地发送到函数/子。

全部完成后,保存文档。

于 2013-07-25T09:00:19.827 回答