Scripting 在VB脚本中从txt文件读取多个变量
我希望能够一次将两个变量读入VBScript。我正在做的是从一堆HTML文件中替换某些文本。我已经编写了一个脚本来实现这一点,但是我一次只能输入一组文本。命令行示例: C:>replace.vbs(旧文本)(新文本) 其中(OldText)和(NewText)都是参数Scripting 在VB脚本中从txt文件读取多个变量,scripting,vbscript,windows-scripting,filesystemobject,Scripting,Vbscript,Windows Scripting,Filesystemobject,我希望能够一次将两个变量读入VBScript。我正在做的是从一堆HTML文件中替换某些文本。我已经编写了一个脚本来实现这一点,但是我一次只能输入一组文本。命令行示例: C:>replace.vbs(旧文本)(新文本) 其中(OldText)和(NewText)都是参数 strOldText = WScript.Arguments.Item(0) strNewText = WScript.Arguments.Item(1) 有没有办法将文本文件设置为: (OldText) (NewText) (
strOldText = WScript.Arguments.Item(0)
strNewText = WScript.Arguments.Item(1)
有没有办法将文本文件设置为:
(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)
(OldText) (NewText)
让脚本一次读一个
我的查找和替换代码非常有效。我只想自动化脚本,从文本文件中读取参数,而不是在命令提示符下一次输入一个参数
非常感谢您的帮助。如果需要更多信息,请告诉我。我希望这是清楚的。
谢谢你想买这样的东西吗
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
我可能会在整个过程中使用PowerShell,而不仅仅是调用脚本,但我认为这应该是可行的。如果不是,问题可能在于我在示例中如何尝试调用vbscript PowerShell:
Import-CSV textReplace.csv | % {
wscript.exe replace.vbs $_.OldText $_.NewText
}
CSV内容:
OldText,NewText
"String 1","String 2"
"String 3,"String 4"
谢谢你,克里斯。我以前从未用过,但效果很好!很高兴听到。PowerShell简单、灵活,是微软现在和可预见的未来所采用的脚本语言。过来看!尼尔波,这也行,我试了两个答案只是为了好玩。谢谢你的帮助!