从VBScript传递变量到批处理

时间:2017-02-10 18:42:55

标签: batch-file vbscript

我在vbscript中获得了这个代码,它启动了带有一些参数的批处理脚本。

CreateObject("WScript.Shell").Run "printTR.bat " & jsfunction() & " " & amount & " " & printer

问题是,有时jsfunction()有空格,因此您可以看到第二个单词将被计为非变量。我尝试了""" & jsfunction() & """"""" & jsfunction() & """之类的内容,这使得脚本无法正常工作。

jsfunction()基本上只是同一页面中用户输入字段的返回。它可以包含任何可以在键盘上输入的内容。

如何将变量作为单个字符串传递?

1 个答案:

答案 0 :(得分:1)

CreateObject("WScript.Shell").Run "printTR.bat """ & jsfunction() & """ " & amount & " " & printer

使用引号传递字符串的正确方法(假设jsfunction()本身不返回包含引号的字符串)。

如果失败也许是因为批处理文件现在也收到带引号的字符串(echo %1将返回"a quoted string"),这是不希望的,以纠正这种用法%~1是相同的字符串,但没有引号。