文件如何通过剪贴板操作(ctrl-c / ctrl-v)进行复制、剪切和粘贴?

3 投票
2 回答
2068 浏览
提问于 2025-04-16 11:56

我之前一直在用win32clipboard这个工具来处理文本的复制和粘贴,操作起来很简单。但是现在我在想,怎么才能用它来复制和粘贴文件夹或文件呢?我现在是用Python来实现这个功能的。不过我找不到相关的格式。是不是说文件路径被复制了,然后粘贴操作会识别剪贴板里的数据是文件路径,然后真正执行文件的复制?我一点头绪都没有 :(。

2 个回答

0

当你把一个文件或文件夹复制到剪贴板时,系统会把一些数据放进剪贴板,格式有很多种。剪贴板查看器在这个操作中会显示出以下几种格式:

在这里输入图片描述

老实说,我不知道在你粘贴的时候具体用的是哪种格式,但我猜可能是 Shell IDList Array。关键是,文件和文件夹本身并不会直接放进剪贴板,而是它们的引用。

我相信在 MSDN: Shell Clipboard Formats 上有详细的文档介绍这些内容。

这些信息应该能帮助你更好地在网上搜索与此功能相关的Python库(我相信一定会有的)!

0

在Windows系统中,复制和粘贴的内容会以OLE对象的形式存储。OLE是“对象链接和嵌入”的缩写,简单来说,就是一种让不同程序之间可以共享和使用数据的技术。要处理这些OLE对象,你需要一个专门的Python库。这条讨论可能会对你有帮助 - 如何用Python编写OLE组件的脚本?

撰写回答