1

一度に 2 つの変数を VBScript に読み込めるようにしたいと考えています。私がやっていることは、一連の HTML ファイルから特定のテキストを置き換えることです。これを行うためのスクリプトを既に作成していますが、一度に 1 つのテキスト セットしか入力する必要がありません。コマンドラインの例:

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)

スクリプトは一度に 1 つずつ読み取られますか?

検索と置換のコードは完全に機能します。コマンドプロンプトで一度に1つずつ入力するのではなく、テキストファイルからパラメーターを読み取るようにスクリプトを自動化したいと思います。

どんな助けでも大歓迎です。さらに情報が必要な場合は、お知らせください。私はそれが明確であることを願っています。ありがとう

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 を使用するのではなく、すべてに 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 に答える