从vbscript调用perl脚本

时间:2013-08-22 20:34:21

标签: perl vbscript arguments

我需要使用vb脚本中的参数调用perl脚本。如果参数中包含空格,则它不起作用。请帮助。谢谢。

Set oShell = CreateObject("WScript.Shell")
sArgs = strArg1
sExec = "perl test.pl"
sCmd = sExec & " " & sArgs & " "
oShell.Run(sCmd)

1 个答案:

答案 0 :(得分:0)

您可以通过在引号中包含参数来帮助shell对命令进行标记。

直接在shell上运行,可能如下所示:

C:\> perl test.pl "C:/Path with spaces/foo.temp"

至于如何在VBScript中执行此操作,我们可以通过两个步骤来解决这个问题:escape literal quotes in a stringuse Replace() to format that string

sCmd = "perl test.pl ""{0}"""
sCmd = Replace(sCmd, "{0}", sArgs)
oShell.Run(sCmd)

这假设sArgs只包含一个参数;如果您传递多个参数,则需要将每个参数分别包装在引号中。