我有一个批处理脚本:
测试.bat
echo first arg is %1
pause
我想从具有管理员权限的 vbscript 调用,如下所示:
测试.vbs
Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute "test.bat", "argument", "", "runas", 1
这工作正常,但我无法传递包含空格作为单个参数的路径参数。基本上,我需要将参数括在空格中,但无论我尝试什么,它都不起作用。看起来它调用了批处理,但是 cmd 窗口只是闪烁并消失了,所以我不知道出了什么问题。我试过了:
UAC.ShellExecute "test.bat", """has spaces""", "", "runas", 1
和
UAC.ShellExecute "test.bat", Chr(34) & "has spaces" & Chr(34), "", "runas", 1
和
UAC.ShellExecute "test.bat", '"has spaces"', , "runas", 1
和
UAC.ShellExecute "cmd", "/c test.bat " & chr(34) & "has spaces" & chr(34), "", "runas", 1
但没有运气。有什么建议我做错了吗?