我需要使用vb脚本中的参数调用perl脚本。如果参数中包含空格,则它不起作用。请帮助。谢谢。
Set oShell = CreateObject("WScript.Shell")
sArgs = strArg1
sExec = "perl test.pl"
sCmd = sExec & " " & sArgs & " "
oShell.Run(sCmd)
答案 0 :(得分:0)
您可以通过在引号中包含参数来帮助shell对命令进行标记。
直接在shell上运行,可能如下所示:
C:\> perl test.pl "C:/Path with spaces/foo.temp"
至于如何在VBScript中执行此操作,我们可以通过两个步骤来解决这个问题:escape literal quotes in a string和use Replace() to format that string。
sCmd = "perl test.pl ""{0}"""
sCmd = Replace(sCmd, "{0}", sArgs)
oShell.Run(sCmd)
这假设sArgs
只包含一个参数;如果您传递多个参数,则需要将每个参数分别包装在引号中。