#Requires AutoHotkey v2.0 ; 快捷键:Ctrl + Shift + V ^+v:: { ; 1. 尝试获取剪贴板内容 try { currentText := A_Clipboard } catch { return ; 如果剪贴板不是文本,直接退出 } ; 如果剪贴板为空,啥也不干 if (currentText = "") return ; 2. 【关键】先清空剪贴板! ; 这样后面的 ClipWait 才能真正检测到"新内容"何时写入完成 A_Clipboard := "" ; 3. 净化处理 ; 第一步:替换掉文件名非法字符 ( \ / : * ? " < > | ) 为下划线 cleanText := RegExReplace(currentText, '[\\/:*?"<>|]', "_") ; 第二步:【暴力去除换行符】 (这是网页标题复制最容易翻车的地方) ; `r 是回车,`n 是换行,统统替换为空 cleanText := RegExReplace(cleanText, "[\r\n]", "") ; 4. 写入新文本 A_Clipboard := cleanText ; 5. 【关键】等待剪贴板写入完成 (最长等 1 秒) ; 这里的 1 代表只要检测到有文本了就立刻放行 if !ClipWait(1) { MsgBox("剪贴板写入超时,请重试") return } ; 6. 【双保险】强制再睡 50 毫秒 ; 给 Windows 反应时间,防止粘贴指令发太快 Sleep(50) ; 7. 发送粘贴指令 Send("^v") }