我希望能够一次读入两个变量到VBScript中。我正在做的是从一堆HTML文件中替换某些文本。我已经编写了一个脚本来执行此操作,但我必须一次只输入一组文本。命令行示例:
C:> replace.vbs(OldText)(NewText)
其中(OldText)和(NewText)都是参数。
strOldText = WScript.Arguments.Item(0)
strNewText = WScript.Arguments.Item(1)
有没有办法让文本文件设置如下:
(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)
并让脚本一次读取一个?
我的查找和替换代码完美无缺。我只想自动化脚本从文本文件中读取参数,而不是在命令提示符下一次输入一个参数。
非常感谢任何帮助。如果需要进一步的信息,请告诉我。我希望它很清楚。 感谢
答案 0 :(得分:2)
你在找这样的东西吗?
strDelimiter = " "
strInfilePath = "C:\Path to file to read.txt"
Const ForReading = 1
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objInfile = objFso.OpenTextFile(strInfilePath, ForReading)
Do While Not objInfile.AtEndOfStream
strLine = objInfile.ReadLine
arrParts = Split(strLine, strDelimiter)
strOldText = arrParts(0)
strNewText = arrParts(1)
Loop
答案 1 :(得分:1)
我可能会将PowerShell用于整个事情,而不仅仅是调用脚本,但我认为这应该可行。如果没有,问题可能在于我试图在我的例子中调用vbscript。
的PowerShell:
Import-CSV textReplace.csv | % {
wscript.exe replace.vbs $_.OldText $_.NewText
}
CSV内容:
OldText,NewText
"String 1","String 2"
"String 3,"String 4"