将信息保存到一个XML文件的vbs代码

所属分类: 脚本专栏 / vbs 阅读数: 521
收藏 0 赞 0 分享
This script demonstrates how to save information to a xml file with the use of MSXML. The example xml file is used for the photo album on the site.
复制代码 代码如下:

'*****************************************************************
'** Script: CreateXML.vbs
'** Version: 1.0
'** Created: 01/12/2009 9:51PM
'** Author: Adriaan Westra
'** E-mail:
'** Purpose / Comments:
'** Create xml file for photo album
'**
'**
'** Changelog :
'** 12-01-2009 9:51 : Initial version
'**
'*****************************************************************

On Error Resume next
Dim Version : Version = "1.0" ' Script version
Dim Author : Author = "A. Westra"
Dim objXML 'XML Document object
Dim root 'Root element of the xml document
Dim newNode ' XML Node object
Dim cNode ' XML (child) Node object
Dim cNodeText ' XML Text Node object


'*****************************************************************
'** Make sure the script is started with cscript
If InStr(wscript.FullName, "wscript.exe") > 0 Then
MsgBox "Please run this script with cscript.exe." & Chr(13) & _
"For example : cscript " & WScript.ScriptName & " /?", _
vbExclamation, WScript.ScriptName
WScript.Quit(1)
End If

'*****************************************************************
'** Get commandline parameters
Set Args = Wscript.Arguments

If Args.Count = 0 Then
strImageDir = InputBox("Please give the directory name " & _
"to process : ",wscript.scriptname, strPath)
Else
If InStr(Args(0),"/?") > 0 Or InStr(UCase(Args(0)),"/H") > 0 _
Or InStr(UCase(Args(0)),"/HELP") > 0 Then
DisplayHelp
Wscript.quit(0)
Else
strImageDir = Args(0)
End if
End if

Set objXML = CreateObject("Msxml2.DOMDocument.6.0")
objXML.setProperty "SelectionLanguage", "XPath"


'*****************************************************************
'** Determine if the file exists
strXMLFile = strImageDir & "\album.xml"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strXMLFile) Then
'*****************************************************************
'** Read the XML File
objXML.load(strXMLFile)
Else
'*****************************************************************
'** Create the XML File
objXML.loadXML("")
End If
'*****************************************************************
'** Process directory
Set objImgDir = objFSO.GetFolder(strImageDir)
For each objFile in objImgDir.Files
If IsJPG(objFile.Name) Then
arrTemp = split(objFile.Name, ".")
strNode = arrTemp(0)

'*****************************************************************
'** Determine if the node exists
If Not XmlNodeExists(strChildNode, objXML) Then
'*****************************************************************
'** Get the root element of the xml document
Set root = objXML.documentElement
'*****************************************************************
'** Create the new node
Set newNode = objXML.createNode(1, strNode, "")
root.appendChild newNode
Set cNode = objXML.createNode(1, "alt", "")
Set cNodeText = objXML.createNode(3, "", "")
cNodeText.Text = strNode
cNode.appendChild cNodeText
newNode.appendChild cNode
Set cNode = objXML.createNode(1, "Title", "")
Set cNodeText = objXML.createNode(3, "", "")
cNodeText.Text = strNode
cNode.appendChild cNodeText
newNode.appendChild cNode
End If
End If
Next
'*****************************************************************
'** Save the xml file
objXML.save(strXMLFile)

'*****************************************************************
'** End the script
wscript.quit

'*****************************************************************
'** Function: XmlNodeExists
'** Version: 1.0
'** Created: 1/12/2009 12:14PM
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Determines if a node exists in XML
'**
'** Arguments :
'** strNode :Name of the XML node
'** oXML :XMl DOM Object

'**
'** Changelog :
'** 1/12/2009 12:16PM : Initial version
'**
'*****************************************************************
Function XmlNodeExists( strNode, oXML )
On Error Resume next
Set oNode = oXML.selectSingleNode(strNode)
strNodetype = oNode.nodetype
If err.number = 0 Then
XmlNodeExists = True
Else
XmlNodeExists = False
End if
End Function
'*****************************************************************
'** Sub: DisplayHelp
'** Version: 1.0
'** Created: 24-03-2003 8:22
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Display help for script
'**
'** Arguments :
'**
'** Wijzigingslog :
'** 24-03-2003 8:22 : Initi雔e versie
'**
'*****************************************************************
Sub DisplayHelp()
strComment = string(2,"*")
strCmntLine = String(79, "*")
wscript.echo strCmntline
wscript.echo strComment
wscript.echo strComment & " Online help for " & _
Wscript.scriptname & " version : " & Version
wscript.echo strComment
wscript.echo strComment & " Usage : cscript " & _
Wscript.scriptname & " directoryname"
wscript.echo strComment
wscript.echo strComment & " Purpose : Create XML file " & _
"for all images in given directory."
wscript.echo strComment
wscript.echo strComment & " Author : " & Author
wscript.echo strComment & " E-mail : " & Email
wscript.echo strComment
wscript.echo strCmntline
End Sub
'*****************************************************************
'** Function: IsJPG
'** Version: 1.0
'** Created: 12/29/2008 11:01PM
'** Author: Adriaan Westra
'** E-mail:
'**
'** Purpose / Comments:
'** Determine if file is jpg image
'**
'** Arguments :
'** strFilename : name of the file to check
'**
'** Wijzigingslog :
'** 12/29/2008 11:02PM : Initi雔e versie
'**
'*****************************************************************
Function IsJPG(strFilename)
Set objRegExp = New RegExp
objRegExp.Pattern = "\w.jpg"
objRegExp.IgnoreCase = True
IsJPG = objRegExp.Test(strFileName)
End Function
更多精彩内容其他人还在看

VBS监视网络连接与断开的代码

监视网络连接与断开,特殊情况下可能有点用,两个VBS脚本均来自微软官网
收藏 0 赞 0 分享

可以修改脚本自身运行次数的vbs(Self modifying script)

通过脚本修改脚本的内容,这里以统计脚本运行次数为例,想学习vbs的朋友可以参考下
收藏 0 赞 0 分享

VBScript之通过对比注册表查找隐藏的服务

系统服务有可能被 rootkit 隐藏,但有些时候我们仍可以从注册表中找到相关的信息。建议以管理员权限运行,否则有些服务列举不出来或出现错误的提示
收藏 0 赞 0 分享

VBScript 监控并结束指定进程的代码

有时候我们需要监控一些进程,防止一些进程的开启,发现指定进程运行就关闭它,那么就可以参考下面的代码
收藏 0 赞 0 分享

VBScript 输出中的对齐实现方法

有时候我们需要在vbs中输入的字符实现对齐效果,那么就可以参考下面的代码了
收藏 0 赞 0 分享

vbs 获取当前目录的实现代码

获取当前正执行的VBS的路径,通过Scripting.FileSystemObject组件实现
收藏 0 赞 0 分享

vbs 获取当前目录文件数量的代码(不包括子文件夹中的)

有时候我们需要获取当前目录下有多少个文件,那么就可以参考下面的代码
收藏 0 赞 0 分享

VBS获取当前目录下所有文件夹名字的代码

有时候我们需要获取当前目录下所有文件夹的名字,那么就可以参考下面的代码了
收藏 0 赞 0 分享

VBS读取注册表的两种方法

有时候我们需要用vbs来操作注册表,一般情况下有两种方法,一种是通过wshshell对象的regread,另外一种是使用WMI操作注册表,下面简单的介绍下
收藏 0 赞 0 分享

查看系统C盘剩余空间的VBS脚本

查看系统C盘剩下的空间方法有很多,在本文要为大家介绍的是通过VBS脚本是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享
查看更多