2014-10-07 30 views
0

我必须用新的值更新test.txt,例如,在标签 中删除值{“AAA”:“777”,“BBB”:“888”}并添加{“ABC:”123“,”GHN:“246”},但我的脚本将值附加为{“AAA” : “777”, “BBB”: “888”} { “ABC:” 123" , “GHN:” 246"覆盖vbscript中的值

strFile="test.txt" 
Const ForAppending = 8 
set objFSO = CreateObject("Scripting.FileSystemObject") 
set objFile = objFSO.OpenTextFile(strFile, ForAppending , True) 
objFile.Write("{") 
Dim dict 
Set dict= CreateObject("Scripting.Dictionary") 
dict.Add "ABC","123" 
dict.Add "GHN","246" 
k=dict.Keys 
v=dict.Items 
For j=0 to dict.Count-1 
     objFile.Write(chr(34)&k(j)&":"&chr(34)&v(j)&chr(34)&",") 
Next 

==============

Test.txt的

[Valid] 
    api = https://test.com 
    Alpha = FALSE 
    tag = {"AAA":"777" , "BBB":"888"} 

回答

0

我从来没有使用字典对象/不知道怎么回事,所以这可能不是你这取决于你是否需要某些事情的对象提供了一个可行的解决方案.. 。但是不诉诸正则表达式,你能不能简单地d像这样的东西?

Dim fso, filecontent, file 
Set fso = CreateObject("Scripting.FileSystemObject") 
file = "C:\temp\test.txt" 
filecontent = fso.OpenTextFile(file, 1, False).ReadAll 
filecontent = Replace(filecontent, "{""AAA"":""777"" , ""BBB"":""888""}", "{""ABC:""123"",""GHN:""246""}") 
fso.OpenTextFile(file, 2, True).Write filecontent