[英]error when passing string argument from batch to vbs
我正在用批处理文件调用vbs字符串。 我通过批处理将字符串传递给vbs。
完整的批处理文件:
C:
cd C:\folder
Set arg = "sample foo"
Wscript titi.vbs "%arg"
pause
但是,当我读参数入的VBScript与str = Wscript.Arguments(0)
的值str
是sample
,而不是sample foo
我该如何解决?
问题是一个简单的问题,通常是使用其他编程语言的人所犯的。
Set arg = "sample foo"
将变量:%arg space %设置为字符串: space “ sample foo”
Set "arg="sample foo""
要么:
Set "arg="sample foo""
我更喜欢后者。
顺便说一句,当您使用"%arg"
而不是"%arg%"
时,您还错过了结束%
。
由于您将参数用作"%arg%"
,因此无需将双引号设置为实际的变量字符串。
只需使用:
CD /D "C:\\folder" Set "arg=sample foo" Wscript titi.vbs "%arg%" Pause
由于变量语法格式错误,因此发布的批处理文件应具有VBScript输出arg
。 即使你纠正%arg
到%arg%
你应该得到一个空字符串作为输出,因为你的变量赋值的格式不正确以及( set arg =...
定义一个变量%arg %
更改
Set arg = "sample foo"
Wscript titi.vbs "%arg"
至
set "arg=sample foo"
Wscript titi.vbs "%arg%"
问题就会消失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.