|
本帖最后由 tt911 于 2025-9-4 10:58 编辑
先下载安装这个: https://www.autohotkey.com/download/ahk-install.exe
我给你问了AI: https://ai.dangbei.com/chat/366618382174285637
我想用Autohotkey 1.1编个热键,能随时控制 *.7zip文件,可以被WinRAR 或 7ZIP打开 ,你来给我写个好用的脚本 - ; 热键配置(可自行修改)
- ^!r:: ; Ctrl+Alt+R 用WinRAR打开
- ^!7:: ; Ctrl+Alt+7 用7-Zip打开
- ; ------------------------------
- ; 以下为核心代码,不需要修改
- ; ------------------------------
- ; 初始化设置
- #NoEnv
- #SingleInstance Force
- SetBatchLines -1
- ; 主功能函数
- OpenWithArchiver(archiver_type) {
- ; 保存原始剪贴板内容
- oldClipboard := ClipboardAll
- Clipboard := ""
-
- ; 获取选中文件路径
- Send ^c
- ClipWait 0.5
- if !Clipboard {
- MsgBox 没有选中任何文件!
- Clipboard := oldClipboard
- return
- }
-
- ; 验证文件扩展名
- selectedFile := Trim(Clipboard)
- if !RegExMatch(selectedFile, "i)\.7z$|\.7zip[ DISCUZ_CODE_0 ]quot;) {
- MsgBox 请选择.7z或.7zip文件!
- Clipboard := oldClipboard
- return
- }
-
- ; 设置软件路径(自动检测)
- if (archiver_type = "winrar") {
- RegRead, winrarPath, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe, Path
- if !winrarPath
- winrarPath := "C:\Program Files\WinRAR\WinRAR.exe"
- archiverPath := winrarPath "\WinRAR.exe"
- }
- else if (archiver_type = "7zip") {
- RegRead, 7zipPath, HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip, Path
- if !7zipPath
- izePath := "C:\Program Files\7-Zip\7zFM.exe"
- archiverPath := 7zipPath "\7zFM.exe"
- }
-
- ; 检查软件是否存在
- if !FileExist(archiverPath) {
- MsgBox 未找到 %archiverPath%`n请确认相关软件已安装!
- Clipboard := oldClipboard
- return
- }
-
- ; 打开文件
- try {
- Run "%archiverPath%" "%selectedFile%"
- } catch {
- MsgBox 打开文件失败!`n错误代码:%ErrorLevel%
- }
-
- ; 恢复剪贴板
- Clipboard := oldClipboard
- }
- ; 热键绑定
- ^!r:: OpenWithArchiver("winrar") ; WinRAR
- ^!7:: OpenWithArchiver("7zip") ; 7-Zip
复制代码 AI生成的比较严谨,但啰嗦,可以再修改一下。保存为 1.ahk ,热键操控即可。
|
|