如何在 autohotkey v2 的 运行 命令中使用多个参数

How to use multiple paramenter in run command in autohotkey v2

我将我的自动热键从 v1 更新到 v2

appskey::run,Wscript C:\folder\script.vbs "netsh wlan disconnect"
return

以上命令在 v1 中运行良好以在 v2 中中断 我试过了:

appskey::run "Wscript C:\folder\script.vbs" "netsh wlan disconnect"

抛出错误 - 文件扩展名“.vsnetsh”没有脚本引擎

appskey::Run "Wscript C:\folder\script.vbs netsh wlan disconnect"

它在后台打开但不工作

请更正以上代码,使其 运行 用于多个参数。

在 v2 中,一切都被计算为表达式。
您在此处的 运行 命令中执行的操作:
run "Wscript C:\folder\script.vbs" "netsh wlan disconnect"
将两个字符串连接在一起,因此 Run 函数接收的第一个(也是唯一一个)参数是:
"Wscript C:\folder\script.vbsnetsh wlan disconnect".
因此,您正在尝试 运行 一个名为 script.vbsnetsh 的文件并将两个参数传递给它,wlandisconnect.

这里:
Run "Wscript C:\folder\script.vbs netsh wlan disconnect"
您 运行 正在使用正确的脚本,但您传递了三个参数,netshwlandisconnect.

您想要做的是 运行 一个名为 script.vbs 的文件,并只向其中传递一个参数,该参数是 netsh wlan disconnect.
您的参数包含空格,因此您必须将参数包裹在 "s 中以表明它只是一个参数,就像您在 v1 遗留脚本中所做的那样。

所以正确的版本应该是:

Run "Wscript `"C:\folder\script.vbs`" `"netsh wlan disconnect`""

您在 v2(docs).
中用 `" 转义引号 并且不需要在文件路径周围添加引号,因为您的文件路径中没有空格,但它很容易有,所以我添加它们以进行更好的演示。