1

我希望能够一次将两个变量读入 VBScript。我正在做的是从一堆 HTML 文件中替换某些文本。我已经编写了一个脚本来执行此操作,但我一次只能输入一组文本。命令行示例:

C:> 替换.vbs (OldText) (NewText)

其中 (OldText) 和 (NewText) 都是参数。

strOldText = WScript.Arguments.Item(0)
strNewText = WScript.Arguments.Item(1)

有没有办法设置一个文本文件,如:

(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)

并让脚本一次读一个?

我的查找和替换代码完美运行。我只想自动化脚本以从文本文件中读取参数,而不是在命令提示符下一次输入一个参数。

任何帮助是极大的赞赏。如果需要更多信息,请告诉我。我希望这很清楚。谢谢

4

2 回答 2

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
于 2012-07-24T15:11:48.433 回答
1

我可能会使用 PowerShell 来完成整个事情,而不仅仅是调用脚本,但我认为这应该可行。如果没有,问题可能在于我在示例中如何尝试调用 vbscript。

电源外壳:

Import-CSV textReplace.csv | % {
    wscript.exe replace.vbs $_.OldText $_.NewText
}

CSV 内容:

OldText,NewText
"String 1","String 2"
"String 3,"String 4"
于 2012-07-24T15:18:27.527 回答