我在vbscript中获得了这个代码,它启动了带有一些参数的批处理脚本。
CreateObject("WScript.Shell").Run "printTR.bat " & jsfunction() & " " & amount & " " & printer
问题是,有时jsfunction()
有空格,因此您可以看到第二个单词将被计为非变量。我尝试了""" & jsfunction() & """"
和""" & jsfunction() & """
之类的内容,这使得脚本无法正常工作。
jsfunction()
基本上只是同一页面中用户输入字段的返回。它可以包含任何可以在键盘上输入的内容。
如何将变量作为单个字符串传递?
答案 0 :(得分:1)
CreateObject("WScript.Shell").Run "printTR.bat """ & jsfunction() & """ " & amount & " " & printer
使用引号传递字符串的正确方法(假设jsfunction()
本身不返回包含引号的字符串)。
如果失败也许是因为批处理文件现在也收到带引号的字符串(echo %1
将返回"a quoted string"
),这是不希望的,以纠正这种用法%~1
是相同的字符串,但没有引号。