我试图通过VB Shell函数将参数传递给BAT文件。参数文本值看起来像这样说。Hello&123
正如您所注意到的,其中有一个'&'作为文本。但是&保留在BAT中,因此我试图使其正常运行,但到目前为止未成功。
我的VB 6代码是
Dim passwd
passwd = "Hello^&123"
retval = Shell("C:\test.bat " & passwd, vbNormalFocus)
我尝试了以下组合,但是没有用。因此,我不知道应在VB 6中将变量passwd设置为什么值,该值将在BAT中将Hello&123接受为正确的文本参数。
我收到的错误
passwd =“你好^&123”
Hello
'123' is not recognized as an internal or external command,
passwd =“”“ Hello ^&123”“”
"Hello^&123"
passwd =“ Hello && 123”
Hello
但是,以上都不是有用的,因为我希望%1与Hello&123完全相同
任何进一步的帮助将是巨大的。
编辑...
批处理文件现在仅具有echo命令。
@echo off
echo %1
pause
谢谢。
该错误可能在批处理文件中。您正确地传递了参数,但是批处理中得到了“&”号。您需要再次对批处理文件进行转义。也许吧^^^&
。
^
是引号字符,所以^^
= ^
。
因此,为了cmd
得到^^^&
和改变^^
,以^
和^&
以&
使最终的结果是^&
。当CMD读取您的批处理文件时,它将更改^&
为&
。因此,CMD需要阅读两次。
如果在提示符下键入报价,通常会更容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句