在VB脚本中从txt文件中读取多个变量

问题描述:

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

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) 

,并有脚本读取一个时间?

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

任何帮助,非常感谢。如果需要更多信息,请告诉我。我希望这很清楚。 谢谢

我可能会使用PowerShell的整个事情,而不是只调用脚本,但我认为这应该工作。如果没有,问题可能在于我如何在我的示例中调用vbscript。

的PowerShell:

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

CSV内容:

​​
+0

谢谢克里斯。我以前从未使用过,但效果很好! – Scape 2012-07-25 12:33:18

+0

很好听。 PowerShell简单,灵活,并且是Microsoft现在和可预见的将来所采用的脚本语言。一探究竟! – 2012-07-26 12:54:17

你在找这样的吗?

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 
+0

Nilpo,这个作品也,我试过两个答案只是为了好玩。谢谢您的帮助! – Scape 2012-07-25 12:34:52