【实测可用】Python写文件到Windows剪切板的实现!

最近在开发一个共享剪切板的功能。在使用程序把文件接入Windows剪切板的过程中,遇到了问题,被困扰很久。

GPTo3,DeepSeek,Gemini Think都问了,给了密密麻麻一堆代码都不行。

只是把一个文件名字放到剪切板里,没想到这么难啊。 

最终还是通过谷歌搜索解决了。

解决方案是使用Powershell的一个命令。

Get-Item a.jpg | Set-Clipboard

通过这条命令,可以完美的将文件写入到剪切板。

如果是多个文件,可以使用命令:

Get-Item a.txt,b.jpg | Set-Clipboard

知道这个原理之后,可以用Python调用这个命令:

import subprocess

args = ['powershell', 'Get-Item 文件路径,文件路径,... | Set-Clipboard']
subprocess.Popen(args=args)

完善一下,就可以写成一个单独的方法:

def write_files(self, file_list):
        
        #把file_list通逗号拼接成字符串
        file_list_str = ','.join(file_list)

        # 定义 PowerShell 命令
        ps_command = f"Get-Item {file_list_str} | Set-Clipboard"

        # 创建 STARTUPINFO 对象
        startupinfo = subprocess.STARTUPINFO()
        startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

        # 调用 subprocess.run 并隐藏命令行窗口
        result = subprocess.run(["powershell", "-Command", ps_command], startupinfo=startupinfo)

这个方法,只要给定文件路径,不管一个或者多个,都可以一次性写入剪切板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值