vb スクリプトからの引数を使用して perl スクリプトを呼び出す必要があります。引数にスペースが含まれている場合、機能していません。助けてください。ありがとう。
Set oShell = CreateObject("WScript.Shell")
sArgs = strArg1
sExec = "perl test.pl"
sCmd = sExec & " " & sArgs & " "
oShell.Run(sCmd)
引数を引用符で囲むと、シェルがコマンドをトークン化するのに役立ちます。
シェルで直接実行すると、次のようになります。
C:\> perl test.pl "C:/Path with spaces/foo.temp"
VBScript でこれを行う方法については、次の 2 つの手順で解決できます。string 内のリテラル引用符をエスケープし、Replace() を使用してその string をフォーマットします。
sCmd = "perl test.pl ""{0}"""
sCmd = Replace(sCmd, "{0}", sArgs)
oShell.Run(sCmd)
sArgs
これは、引数が 1 つだけ含まれていることを前提としています。複数の引数を渡す場合は、それぞれを個別に引用符で囲みます。