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

如何用Python读取剪贴板中的文件内容?

解决从RDP复制到本地剪贴板的文件读取问题

你之前的代码都是读取剪贴板的文本格式,但从RDP复制的文件在剪贴板中是以**CF_HDROP(文件拖放格式)**存储的,所以需要针对这个格式读取数据。

以下是可行的实现代码:

import win32clipboard
import win32con

def get_clipboard_files():
    files = []
    try:
        win32clipboard.OpenClipboard()
        # 检查剪贴板是否包含CF_HDROP格式的数据
        if win32clipboard.IsClipboardFormatAvailable(win32con.CF_HDROP):
            # 获取文件拖放格式的数据
            hdrop = win32clipboard.GetClipboardData(win32con.CF_HDROP)
            # 解析hdrop对象,提取文件路径列表
            files = win32clipboard.GetPathNames(hdrop)
    finally:
        win32clipboard.CloseClipboard()
    return files

# 调用函数并打印结果
clipboard_files = get_clipboard_files()
if clipboard_files:
    print("剪贴板中的文件路径:")
    for file_path in clipboard_files:
        print(file_path)
else:
    print("剪贴板中没有文件或不支持的格式")

关键说明:

  • win32con.CF_HDROP是Windows剪贴板中专门用于存储文件列表的格式,从RDP复制的文件会以这种格式存入本地剪贴板
  • GetPathNames()方法可以直接解析CF_HDROP格式的数据,返回文件路径的列表
  • 用try-finally包裹剪贴板操作,确保剪贴板始终能被正确关闭,避免资源占用

注意事项:

从RDP复制到本地剪贴板的文件是Windows临时存储的副本,这些临时文件会在完成粘贴操作或系统自动清理时被删除,若需要保留文件,建议立即将其复制到指定目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:33:12