vbs test
'-----------------------------------
Class clsGetProfile
Private rootDoc
Public Sub setProfile(strFileName)
Set data_xml = CreateObject("Microsoft.XMLDOM")
data_xml.async = False
data_xml.load(strFileName)
Set rootDoc = data_xml.documentElement
Dim objDict
Set objDict = WSH.CreateObject("Scripting.Dictionary")
'objDict.Add "aaa","hehe"
'WSH.Echo(objDict.Item("aaa"))
Set VarsNode=rootDoc.selectSingleNode("var")
Set VarNodes=VarsNode.childNodes
s=VarNodes.length
'---start set vars
for i = 0 to s-1
Set VarNode= VarNodes(i)
key = VarNode.getAttribute("name")
value= VarNode.Text
Dim keys,items
keys=objDict.Keys
items=objDict.Items
for j=0 to objDict.Count-1
value=Replace(value,"${"&keys(j)&"}",items(j))
next
objDict.Add key,value
'resetStr=Replace("x${qqq}nnn","${"&key&"}",value)
next
'--- end set vars
'msgbox objDict.item("target")
'filePath=objDict.item("configFile")
'fileText=Replace(fileText,"${HYBRIS_LOG_DIR}","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
'msgbox "==="&fileText
'saveText "d:/AAAAS.txt",fileText
filePath=objDict.item("source")
filePath=Trim(filePath)
filePathTarget=objDict.item("target")
filePathTarget=Trim(filePathTarget)
textContent=getText(filePath)
Set messageNode=rootDoc.selectSingleNode("message") ' //getElementsByTagname("key")
Set KeyNodes=messageNode.childNodes
s=KeyNodes.length
keys=objDict.Keys
items=objDict.Items
for i = 0 to s-1
Set KeyNode= KeyNodes(i)
key = KeyNode.getAttribute("name")
value= KeyNode.Text
for j=0 to objDict.Count-1
value=Replace(value,"${"&keys(j)&"}",items(j))
next
textContent=Replace(textContent,"${"&key&"}",value)
'msgbox value
'replace=bbb
'resetStr=Replace("x${xxxx}nnn","${"&key&"}",value)
next
saveText filePathTarget,textContent
If data_xml.parseError.errorCode <> 0 Then
MsgBox "XML文件格式不对,原因是:" & Chr(13) & data_xml.parseError.reason
End If
End Sub
' 读取文件
public Function getText(filePath)
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(filePath)
strCopy = file.readall
file.close
getText=strCopy
End Function
public Function SaveText(filePath,content)
set fso=createobject("scripting.filesystemobject")
Set f = fso.CreateTextFile(filePath,True)
f.write(content)
f.close
End Function
Public Function getItem(massage, itemName)
Set xxx=rootDoc.selectSingleNode(strSectionName)
MsgBox itemName
getItem=xxx.selectSingleNode("Info.001").getAttribute("value")
End Function
End Class
Dim config : Set config = New clsGetProfile
Call config.setProfile("Config.xml")
'WScript.Echo config.getItem("message", "INFO.001")
'WScript.Echo config.getItem("MessageDefine", "INFO.003")
'WScript.Echo config.getItem("MessageDefine", "ERROR.009")
'WScript.Echo config.getItem("MessageDefine", "ERROR.012")
vbs test的更多相关文章
- C#调用vbs脚本实现Windows版Siri
最近新加入,把自己一些有意思的小东西分享给大家,我是一个学生,代码写得少,哪里不规范,希望大家见谅. 这事我封装好的一个类,可以直接实例化对象之后,调用"对象.Talk()"方法, ...
- 在WinCC中通过VBS操作SQL Server2005
在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询.考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Ma ...
- 使用vbs脚本进行批量编码转换
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...
- vbs让电脑发音说话
Dim vbs1 'set vbs1 = WScript.CreateObject("WScript.Shell") set vbs1 = WScript.CreateObject ...
- WSF脚本详解:组合JS和VBS代码
1.概述 Windows Script Host除了提供一个对象模型之外,还提供了一种脚本框架,这就是WSF脚本.通过WSF约定的标记元素,可以将多种脚本语言写的代码块组合起来,完成任务.除此之外,还 ...
- HTA全解析:给VBS和JS一个强大的交互界面
1.概述 HTA全称Html Application,在Windows中由mshta.exe加载执行,是一种本地程序.可使用html元素来构建界面,用JS或VBS来构建执行逻辑,从而强化Windows ...
- vbs 中文字符串
vbs 字符串包含中文字符,文件以UTF-8无BOM格式保存,就会出现“编译器错误: 未结束的字符串常量”错误,改以ANSI保存就没有这个问题
- 使用bat/vbs/ahk对Windows下进行自动化操作
回想90年代,我们在DOS下使用各种命令链对操作进行简化和自动化,如DOS 5.0添加的DosKey,利用管道和重定向对多组命令进行链式操作.后来使用了Ubuntu和其它Linux发型版后,bash下 ...
- vbs 的二个解释程序区别与切换及与BAT互调用。
WScript.exe : 窗口中运行CScript.exe :命令行中运行 用法:<CScript|WScript> scriptname.extension [option...] [ ...
- 用VBS实现公司自动打卡
公司每天要求早晚打卡,方式是登录某一个页面,然后点击上面的圈圈,如下图: 每天都要打开书签,登录这个页面,然后打卡...这么重复性的工作,怎么能是程序员天天干的事情呢(其实是我太懒了),那么就尝试让程 ...
随机推荐
- eval 为什么加括号
<!DOCTYPE html> <html> <head> <title>eval学习</title> <script type=&q ...
- android network develop(2)----network status check
Check & Get network status Normally, there will be two type with phone network: wifi & mobil ...
- python super
http://hi.baidu.com/thinkinginlamp/item/3095e2f52c642516ce9f32d5 Python中对象方法的定义很怪异,第一个参数一般都命名为self(相 ...
- (ios7) 解决Ios7中,Navigatebar 显示在主View中,和ios6 不一致问题
在ios 7 系统中 NavigateBar 显示在主View中 ,Ios6 不在主View中,导致后台代码的方式编写View不一致 解决方法: 在ViewControl的viewDidLoad 方法 ...
- 浅谈 sql 中数据的约束
数据约束 --对用户操作表的数据进行约束 1.默认值 --当用户对使用默认值的字段不插入值的时候,就使用默认值 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null [例如:ad ...
- Bootstrap 类解析
Bootstrap 类解析 元素 Bootstrap 类 定义 <div> container 内容容器 <table> table 表格 <table> tabl ...
- cxf构建webservice的两种方式
一.简介 对于基于soap传输协议的webservice有两种开发模式,代码优先和契约优先的模式.代码优先的模式是通过编写服务器端的代码,使用代码生成wsdl:契约优先模式首先编写wsdl,再通过ws ...
- C# url信息获取
假设当前页完整地址是:http://www.360jht.com/game/bbb.aspx?id=5&name=kelli "http://"是协议名 "www ...
- WDK编程的一些特殊点
函数的多线程安全性在内核编程中比用户态应用程序的编程更常见. 调用源 运行环境 原因 driverEntry,DriverUnload 单线程 这两个函数由系统进程的单一线程调用,不会出现多线程同时调 ...
- SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器
1. 从一台 Linux 机器(ubuntu1)上无密码访问其它机器(ubuntu2) (1)登录 ubuntu1 并切换到用户比如 s1 (2)运行 ssh-keygen -t rsa (3)运行c ...