Batch file 如何将变量从VBScript传递到批处理?
我正在尝试将参数从VBScript传递到批处理 这是我的VBScript:Batch file 如何将变量从VBScript传递到批处理?,batch-file,vbscript,Batch File,Vbscript,我正在尝试将参数从VBScript传递到批处理 这是我的VBScript: Var1=“foo” Var2=“bar” 设置WshShell=WScript.CreateObject(“WScript.Shell”) WshShell.Run“T.bat”&Var1&Var2 这是我的批处理文件: @echo关闭 回显%1 回显%2 暂停>nul 两个参数之间需要一个空格,否则批处理文件将只看到一个参数 WshShell.Run "T.bat "& Var1 & Var2
Var1=“foo”
Var2=“bar”
设置WshShell=WScript.CreateObject(“WScript.Shell”)
WshShell.Run“T.bat”&Var1&Var2
这是我的批处理文件:
@echo关闭
回显%1
回显%2
暂停>nul
两个参数之间需要一个空格,否则批处理文件将只看到一个参数
WshShell.Run "T.bat "& Var1 & Var2
变成
WshShell.Run "T.bat foobar"
要避免意外连接,请更改以下内容:
WshShell.Run "T.bat "& Var1 & Var2
为此:
WshShell.Run "T.bat "& Var1 & " " & Var2
或者(更好)是:
附加的双引号用于处理参数中的空格。您可以通过使用引用函数使其更具可读性:
Function qq(str)
qq = """" & str & """"
End Function
WshShell.Run "T.bat "& qq(Var1) & " " & qq(Var2)
附带说明:在批处理文件中,您可能希望使用
%~1
和%~2
,而不仅仅是%1
和%2
。瓷砖从参数中删除外部双引号。不错,但出了什么问题?一些错误消息?意外行为?请回答您的问题…您需要在批处理中的参数之间留一个空格。非常感谢您,我为RRR锁定了wahta
Function qq(str)
qq = """" & str & """"
End Function
WshShell.Run "T.bat "& qq(Var1) & " " & qq(Var2)