[ahk]右键菜单打开文件所在文件夹(快捷方式也适用)

188 篇文章 3 订阅
105 篇文章 5 订阅

功能:能打开文件所在路径 并定位到文件上,能正确解析lnk所指文件的目录。

 


copypath.ahk  文件如下:

 

#NoTrayIcon
Clipboard=%1%

 

openpath.ahk文件如下:

#NoTrayIcon
Clipboard=%1%
Run,% "Explorer.exe /select, " Clipboard


说明一:剪贴板内容被置为文件路径了。

说明二:需要注册到鼠标右键菜单,路径酌情修改,copypath.reg 文件如下

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\copypath]
@="复制全路径"

[HKEY_CLASSES_ROOT\*\shell\copypath\command]
@="\"x:\\AutoHotkey\\AutoHotkey\\AutoHotkey.exe\" \"X:\\short\\copypath.ahk\" \"%1\""

[HKEY_CLASSES_ROOT\Folder\shell\copypath]
@="复制全路径"

[HKEY_CLASSES_ROOT\Folder\shell\copypath\command]
@="\"x:\\AutoHotkey\\AutoHotkey\\AutoHotkey.exe\" \"X:\\short\\copypath.ahk\" \"%1\""

 

openpath.reg文件如下,路径酌情修改:

说明:不能在注册表中直接用 Explorer.exe /select ,%1  因其对快捷方式不好用的。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\openpath]
@="浏览所在目录"

[HKEY_CLASSES_ROOT\*\shell\openpath\command]
@="\"x:\\AutoHotkey\\AutoHotkey\\AutoHotkey.exe\" \"X:\\short\\openpath.ahk\" \"%1\""

[HKEY_CLASSES_ROOT\Folder\shell\openpath]
@="浏览所在目录"

[HKEY_CLASSES_ROOT\Folder\shell\openpath\command]
@="\"x:\\AutoHotkey\\AutoHotkey\\AutoHotkey.exe\" \"X:\\short\\openpath.ahk\" \"%1\""



完。
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 你可以在 Autohotkey 脚本内使用 Reload 函数来重新加载它自己。该函数的语法如下: Reload 使用该函数的示例如下: ^r:: Reload return 上面的示例中,当用户按下 "Ctrl + R" 组合键时,脚本将会重新加载自身。 ### 回答2: AutoHotkey(简称AHK)是一种自动化脚本语言,常用于自动化操作、自定义快捷键等。如果你想要让一个AHK文件在运行时重新加载自己,可以使用以下方法。 首先,在你的AHK脚本中添加一个快捷键绑定,用于触发重新加载。你可以选择任意一个你喜欢的快捷键,比如"Ctrl + Alt + R"。添加以下代码可以实现这个功能: ^!r:: Reload return 第一行代码中的"^"代表Control键,"!"代表Alt键,"r"代表"R"键。所以 "^!r"即为"Ctrl + Alt + R"。第三行的"Reload"命令用于重新加载脚本。 将以上代码添加至你的AHK脚本中,保存修改。 接下来,在你打开的AHK脚本中,按下设置的快捷键"Ctrl + Alt + R"即可重新加载脚本。这样,你就不需要关闭脚本再重新打开它了,可以直接加载修改后的内容。 需要注意的是,重新加载脚本会终止当前脚本的执行,并重新启动脚本。 希望以上解答对你有所帮助。如有其他问题,请随时提问。 ### 回答3: 要让AutoHotkey(AHK)文件重新加载自己,你可以使用AHK内置的Reload函数。Reload函数可以重启当前运行的脚本,即重新加载脚本文件。 你可以在脚本文件的任何位置使用Reload函数来实现重新加载。以下是一个示例: ```autohotkey ^!r:: Reload return ``` 上述代码将Ctrl+Alt+R绑定到Reload函数。当你按下这个组合键时,AHK脚本会重新加载。 如果你想要自动重载脚本,你可以将Reload函数与文件监视器结合使用。文件监视器可以监视脚本文件的任何更改,并在更改后自动重新加载。 以下是一个将文件监视器与Reload函数结合使用的示例: ```autohotkey #Persistent SetTimer, ReloadCheck, 1000 return ReloadCheck: If (FileExist("脚本文件的完整路径")) { FileGetTime, currentModified, 脚本文件的完整路径 If (currentModified != previousModified) { Reload } } previousModified := currentModified return ``` 在上述代码中,我们首先设置了一个持续的定时器(SetTimer),它每秒钟检查一次脚本文件是否有更改。然后,我们使用FileExist和FileGetTime函数来获取脚本文件的最新修改时间,如果最新修改时间与之前保存的修改时间不同,则重新加载脚本。 请注意,你需要将代码中的"脚本文件的完整路径"替换为你实际的脚本文件路径。 这些是使用AutoHotkey重新加载脚本的两种方法。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值