永发信息网

任意文件批量转换成XML格式

答案:2  悬赏:0  手机版
解决时间 2021-03-20 19:55
  • 提问者网友:愿为果
  • 2021-03-19 19:19
任意文件批量转换成XML格式,我有个代码但是每次只能一个一个的转换太慢了,有没有高手帮个忙,调用VBS合作批处理命令来进行批量转换呢,比如要把A文件夹里面的全部VBS文件,转换成XML文件 每转换一个自动保存到B文件夹,下面的是单个转换代码,是通过HTA来实现的,望高手帮忙修改成批量转换的,谢谢!!!
<HTA:APPLICATION
ID="xmldown"
Caption="yes"
SCROLL="auto"
border="none"
borderStyle="static"
SINGLEINSTANCE="yes"
maximizebutton="no"
BORDER="no"
icon="dxdiag.exe">
<script language=vbs>

Sub Window_onLoad
window.resizeTo screen.width/1.6,screen.height/3
window.moveTo 200,200

End Sub

Sub CreateXml(path,File)

Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open()
objStream.LoadFromFile(Path)
objStream.position = 0

Set XmlDoc = CreateObject("Microsoft.XMLDOM")
XmlDoc.async = False
Set Root = XmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
XmlDoc.appendChild(Root)
XmlDoc.appendChild(XmlDoc.CreateElement("root"))
Set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file"))
Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream"))
Xstream.SetAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"
Xstream.dataType = "bin.base64"
Xstream.nodeTypedValue = objStream.Read()
XmlDoc.Save(File)
Set XmlDoc = Nothing
Set Root = Nothing
Set objStream=Nothing

End Sub

Function x(obj)
Set x=document.getElementById(obj)
End function

Function Findfile(str)
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(str) Then
findfile=true
Else
findfile=false
End If
End Function
</script>
<body>
<h4>生成xml文件</h4>
选择你所需要转换的文件:<input type=file name="file1" id="file1" size="20">
保存路径 <input type=text name="path" id="pathname" value="xml\1.xml" size="20">
<input type="button" value="生成xml文件" onclick='vbs:CreateXml x("file1").value,x("pathname").value:If Findfile(x("pathname").value) = true Then msgbox("生成成功"):x("url").innerHTML="<font color=red>生成成功</font>"'> <br>
</body>
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-03-19 19:58
如果你会编程的话这个应该不难的,建一个DirectoryInfo 对象获取到A路径,然后利用DirectoryInfo.GetFiles()获取到A文件夹中的文件,最后循环生成xml就行了,我用的C#,不会VB

DirectoryInfo dif = new DirectoryInfo();
FileInfo[] fi = dif.GetFiles(".PDN文件类型");

foreach (FileInfo f in fi)
{
string fileName = f.Name;//用来做xml的文件名



}

//执行完成,大功告成!

希望能对你有所帮助
全部回答
  • 1楼网友:佘樂
  • 2021-03-19 21:12
看看这个软件,很不错。solidpdftools.exe
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯