You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AutoHotkey V2.x中获取当前选中的文件/文件夹路径及文件名?

AutoHotkey V2 获取Windows选中文件/文件夹路径与文件名

下面是针对AutoHotkey V2版本的实用脚本,支持Windows 10/11系统,可获取单个或多个选中文件/文件夹的完整路径、文件名,还能自定义快捷键:

完整功能脚本(弹窗显示详细信息)

#Requires AutoHotkey v2.0

^+c::  ; 绑定快捷键 Ctrl+Shift+C,可自行修改为其他组合
    ; 保存原有剪贴板内容,避免覆盖用户数据
    original_clip := ClipboardAll()
    A_Clipboard := ""
    
    ; 模拟按下Ctrl+C,触发系统复制选中文件的操作
    Send "^c"
    ; 等待剪贴板获取内容,超时2秒
    if ClipWait(2) {
        ; 从剪贴板提取文件路径列表(V2专属方法)
        file_list := ClipboardGet("File")
        if file_list.Length {
            output := ""
            for index, full_path in file_list {
                ; 拆分文件夹路径与文件名
                file_name := StrSplit(full_path, "\").Pop()
                folder_path := SubStr(full_path, 1, StrLen(full_path) - StrLen(file_name) - 1)
                ; 拼接输出内容
                output .= "第" index "项:`n"
                output .= "文件夹路径:" folder_path "`n"
                output .= "文件名:" file_name "`n`n"
            }
            ; 弹窗显示结果
            MsgBox(output, "选中文件/文件夹信息", 0x40000)
        } else {
            MsgBox("未检测到选中的文件或文件夹", "提示", 0x10)
        }
    } else {
        MsgBox("获取剪贴板内容超时", "错误", 0x10)
    }
    ; 恢复原有剪贴板内容
    A_Clipboard := original_clip
return

简化版(直接复制路径到剪贴板)

如果只需要快速复制所有选中文件的路径到剪贴板,可使用这个更轻量的版本:

#Requires AutoHotkey v2.0

^+c::
    original_clip := ClipboardAll()
    A_Clipboard := ""
    Send "^c"
    if ClipWait(2) {
        file_list := ClipboardGet("File")
        if file_list.Length {
            ; 将所有路径按换行拼接,复制到剪贴板
            A_Clipboard := StrJoin(file_list, "`n")
            ; 短暂提示操作成功
            ToolTip("已复制" file_list.Length "个文件路径到剪贴板")
            SetTimer(() => ToolTip(), -1500)
        } else {
            ToolTip("未选中任何文件/文件夹")
            SetTimer(() => ToolTip(), -1500)
        }
    }
    A_Clipboard := original_clip
return

关键说明

  • #Requires AutoHotkey v2.0:强制脚本在V2环境运行,避免V1兼容性问题
  • ClipboardGet("File"):V2新增的方法,直接从剪贴板提取文件路径数组,无需像V1那样解析复杂格式
  • 脚本会自动保存并恢复原有剪贴板内容,不会干扰用户之前的剪贴板数据
  • 快捷键可自行修改,比如把^+c::改成!c::表示Alt+C

内容的提问来源于stack exchange,提问作者ronny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:55:12