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

如何在PowerShell中调用VBScript?正确语法求助

在PowerShell中调用VBScript的正确语法

推荐方法:直接调用脚本宿主执行

VBScript必须通过Windows脚本宿主(cscript.exe或wscript.exe)运行,这是最稳定的方式,直接写命令即可:

# 带控制台窗口执行(适合查看输出日志)
cscript.exe "$SupAppsFolder\DCS Olympus_v1.0.4_manager\frontend\client.vbs" "$SavedGamesFolder\DCS\Config\olympus.json"
# 无控制台窗口执行(和双击VBS脚本的效果一致)
wscript.exe "$SupAppsFolder\DCS Olympus_v1.0.4_manager\frontend\client.vbs" "$SavedGamesFolder\DCS\Config\olympus.json"

用Start-Process的正确写法

如果非要用Start-Process,注意参数传递的格式,不要把所有内容堆在一起:

方式1:参数数组传递(更清晰易维护)

Start-Process -FilePath "cscript.exe" -ArgumentList "$SupAppsFolder\DCS Olympus_v1.0.4_manager\frontend\client.vbs", "$SavedGamesFolder\DCS\Config\olympus.json"

方式2:引号包裹整体参数(适配复杂场景)

Start-Process -FilePath "cscript.exe" -ArgumentList "`"$SupAppsFolder\DCS Olympus_v1.0.4_manager\frontend\client.vbs`" `"$SavedGamesFolder\DCS\Config\olympus.json`""
  • 替换cscript.exe为wscript.exe就能隐藏控制台窗口;加-NoNewWindow参数可以让脚本在当前PowerShell窗口内执行(仅cscript支持)。

关于Invoke-Expression

这个命令安全性较差,若变量内容被篡改可能触发恶意代码执行,而且空格路径的解析容易出问题,不推荐使用。如果一定要尝试,正确写法是:

Invoke-Expression "cscript.exe `"$SupAppsFolder\DCS Olympus_v1.0.4_manager\frontend\client.vbs`" `"$SavedGamesFolder\DCS\Config\olympus.json`""

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 22:43:17