A_Clipboard

A_Clipboard 是一个内置变量, 它包含当前 Windows 剪贴板中可以用文本形式表示的内容.

A_Clipboard 中的每行文本通常都是以回车和换行符(CR+LF) 结尾, 它们在脚本中表示为 `r`n. 文件(例如从资源管理器窗口中使用 Ctrl+C 复制的文件) 被视为文本: 每当在脚本中引用 A_Clipboard 时, 它们会被自动转换为它们的文件名(完整路径). 要逐个提取这些文件, 请参照此例:

Loop Parse A_Clipboard, "`n", "`r"
{
    Result := MsgBox("File number " A_Index " is " A_LoopField ".`n`nContinue?",, 4)
    if Result = "No"
        break
}

要按字母顺序排列文件名, 请使用 Sort 函数. 要把剪贴板中的文件名写入到文件中, 请使用 FileAppend A_Clipboard "`r`n", "C:\My File.txt". 要改变脚本持续尝试打开剪贴板的时间 -- 例如另一个程序在使用剪贴板的时候 -- 请使用 #ClipboardTimeout.

ClipWait 可用于检测剪贴板何时包含数据(可选包括非文本数据):

A_Clipboard := ""  ; 先让剪贴板为空, 这样可以使用 ClipWait 检测文本什么时候被复制到剪贴板中.
Send "^c"
ClipWait  ; 等待剪贴板中出现文本.
MsgBox "Control-C copied the following contents to the clipboard:`n`n" A_Clipboard

示例

赋予剪贴板全新的内容.

A_Clipboard := "my text"

清空剪贴板.

A_Clipboard := ""

将任何复制的文件, HTML 或其他格式的文本转换为纯文本.

A_Clipboard := A_Clipboard

追加一些文本到剪贴板.

A_Clipboard .= " Text to append."

把剪贴板中所有 ABC 替换为 DEF(同时把剪贴板的内容转换为纯文本).

A_Clipboard := StrReplace(A_Clipboard, "ABC", "DEF")

使用 AutoHotkey v1 编写的剪贴板实用工具: