如何让AutoHotkey脚本接收多选文件夹的批量参数而非多次调用
解决方案:一次性传递多文件夹参数给AutoHotkey脚本
要实现选中多个文件夹右键执行时,让AutoHotkey脚本一次性接收所有路径,无需临时文件,只需调整注册表配置即可:
步骤1:开启右键菜单的多选支持
在注册表的HKCR\Directory\shell\DoThing项中,添加一个字符串值:
- 名称:
MultiSelectModel - 值:
Player
这个配置会告诉Windows,当选中多个文件夹时,将所有路径一次性作为参数传递给目标程序,而非逐个调用脚本。
步骤2:更新命令行参数格式
将HKCR\Directory\shell\DoThing\command的值修改为:
"C:\App\AutoHotkey.exe" "C:\Script\1.ahk" %*
其中%*会被Windows自动替换为所有选中文件夹的完整路径,带空格的路径会被自动包裹引号,避免参数解析错误。
脚本适配验证
你修改后的脚本已经可以直接处理多参数输入:
#Requires Autohotkey v2.0 if(A_Args.length > 0){ srcFolderPathArray := A_Args DoSomethingWithPathArray(srcFolderPathArray) }
A_Args数组会完整包含所有选中的文件夹路径,DoSomethingWithPathArray函数可直接遍历数组完成批量处理。
补充说明
- 修改注册表需要管理员权限,操作前建议备份对应分支。
- 如果需要在桌面背景选中多个文件夹时生效,需在
HKCR\Directory\Background\shell下重复上述配置(创建DoThing项并设置对应值)。
内容的提问来源于stack exchange,提问作者Byzod
相关产品推荐
相关产品推荐

