我正在尝试使用vbs脚本替换包含以下行的.ini文件中的限制值: CC_refund_limit = ####。## 不幸的是,####。##可以是任何美元价值。我正在替换标准: CC_refund_limit = 500.00
我尝试了以下内容,并且在人类已知的每个括号中都包含了\ d \ d +的每个变体,甚至在测试文件上尝试[0-999]。我可以使用以下代码的唯一方法是使用以下代码,并且仅当字符串包含写入的实际美元值时。我在多个不同的服务器上有超过1600个实例来替换它。
任何指导都将不胜感激:
`Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\EDC\Edc.ini", ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "CC_refund_limit=200.00", "CC_refund_limit=500.00")
Set objFile = objFSO.OpenTextFile("C:\EDC\Edc.ini", ForWriting)
objFile.WriteLine strNewText
objFile.Close
`
答案 0 :(得分:0)
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\EDC\Edc.ini", ForReading)
strText = objFile.ReadAll
objFile.Close
Set r = New Regexp
With r
.pattern = "CC_refund_limit=\d+\.\d+"
.global = true
End with
StrNewText = r.Replace(strText,"CC_refund_limit=500.00")
Set objFile = objFSO.OpenTextFile("C:\EDC\Edc.ini", ForWriting)
objFile.WriteLine strNewText
objFile.Close