You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复VBS调用PowerShell启动批处理时的Expected ')'错误?

修复VBS调用PowerShell启动管理员权限批处理的引号错误

错误原因

脚本报错是因为引号嵌套转义不正确,VBS与PowerShell的引号规则叠加后,导致PowerShell收到的命令语法不完整,触发Expected ')'错误。

修复后的脚本

以下是两种可行的修复方案:

方案1:用单引号处理批处理路径(更简洁)

Set objShell = CreateObject("Wscript.Shell")
objShell.Run "powershell -Command ""Start-Process cmd -Verb RunAs -ArgumentList '/c ''C:\Temp\CAL.bat'''""", 0, False

方案2:正确转义双引号

Set objShell = CreateObject("Wscript.Shell")
objShell.Run "powershell -Command ""Start-Process cmd -Verb RunAs -ArgumentList '/c """"C:\Temp\CAL.bat""""'""", 0, False

关键说明

  • VBS中,字符串内的双引号需要用""转义(两个双引号代表一个实际双引号)。
  • PowerShell中,用单引号包裹批处理路径可避免双引号嵌套冲突;若必须用双引号,需在VBS层面再次转义(写四个双引号"""",最终传递给PowerShell的是一个双引号)。
  • 脚本末尾的, 0, False是可选参数:0表示运行时隐藏窗口,False表示不等待命令执行完成就继续(需等待可改为True)。

内容的提问来源于stack exchange,提问作者Mario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:07:24