问题描述
我将自动热键从 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"
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
的文件并向其中传递两个参数,wlan
和 disconnect
。
这里:Run "Wscript C:\folder\script.vbs netsh wlan disconnect"
您正在运行正确的脚本,但您传递了三个参数,netsh
、wlan
和 disconnect
。
您要做的是运行一个名为 script.vbs
的文件,并只向其中传入一个参数,该参数为 netsh wlan disconnect
。
您的参数包含空格,因此您必须将参数用 "
括起来以表明它只是一个参数,就像您在 v1 旧脚本中所做的一样。
所以正确的版本是:
Run "Wscript `"C:\folder\script.vbs`" `"netsh wlan disconnect`""
您在 v2(docs) 中使用 `"
转义引号。
并且不需要在文件路径周围添加引号,因为您的文件路径中没有空格,但很容易有空格,因此我添加了它们以进行更好的演示。