Lua实现将文件路径文本复制到剪贴板的脚本求助
解决Lua复制文件路径到剪贴板的问题
嘿,别着急!作为Lua新手遇到这个问题太正常啦——因为Lua的标准库本身并不带set_clipboard这个全局函数,这就是你报错的核心原因~我们可以借助各操作系统自带的命令来实现剪贴板操作,下面给你分平台的具体解决方案:
Windows平台
Windows可以调用PowerShell命令来完成剪贴板写入,脚本如下:
-- 用双括号包裹路径避免反斜杠转义问题 local filepath = [[D:_Google Drive_Acting\VO\Room Tone\roomtone.wav]] -- 调用PowerShell命令复制路径到剪贴板 os.execute(string.format('powershell -command "Set-Clipboard -Value \'%s\'"', filepath)) print("路径已成功复制到剪贴板!")
macOS平台
macOS自带pbcopy命令,直接调用即可:
local filepath = "D:_Google Drive_Acting/VO/Room Tone/roomtone.wav" -- 通过管道将路径传入pbcopy命令 os.execute(string.format('echo "%s" | pbcopy', filepath)) print("路径已成功复制到剪贴板!")
Linux平台
Linux需要先安装xclip或xsel工具(比如通过sudo apt install xclip完成安装),然后用以下脚本:
local filepath = "D:_Google Drive_Acting/VO/Room Tone/roomtone.wav" -- 用xclip写入剪贴板 os.execute(string.format('echo "%s" | xclip -selection clipboard', filepath)) -- 如果你用xsel的话,可以替换成:os.execute(string.format('echo "%s" | xsel -ib', filepath)) print("路径已成功复制到剪贴板!")
新手小提示
- 把代码保存成
.lua格式的文件,然后在命令行里用lua 你的脚本文件名.lua就能运行啦。 - 如果你不确定自己的操作系统,可以通过
package.config:sub(1,1)判断路径分隔符——Windows是\,类Unix系统(macOS/Linux)是/,也可以基于这个做跨平台判断,但新手直接用对应平台的脚本就足够啦。
内容的提问来源于stack exchange,提问作者curtdusoleil
相关产品推荐
相关产品推荐

