pbcopy 适用于 Windows 吗?

pbcopy 适用于 Windows 吗?

在 MacOSX 中,有一个命令可以将命令的输出传送到剪贴板,以便可以将其粘贴到 GUI 中的其他位置。

如何通过 cmd.exe 或 PowerShell cmdlet 完成此操作?

答案1

使用类似:

someCommand | clip

这会将结果传送到 Windows 剪贴板

答案2

我正在使用适用于 Windows 的 Git Bash 命令 shell,正如上面有人指出的那样,使用clip非常烦人,因为它还会复制任何命令输出末尾的回车符。所以我写了这个函数来解决这个问题:

function cpy {
while read data; do     # reads data piped in to cpy
    echo "$data" | cat > /dev/clipboard     # echos the data and writes that to /dev/clipboard
done
tr -d '\n' < /dev/clipboard > /dev/clipboard     # removes new lines from the clipboard
}

例如:

$ pwd | cpy  # copies directory path

$ git branch | cpy # copies current branch of git repo to clipboard

答案3

在 PowerShell 中,只需将文本输入到Set-Clipboard。为了快速打字,您可以使用别名scb。这不会像实用程序那样添加额外的换行符clip

例如,此命令将内容放在myfile.txt剪贴板上:

gc .\myfile.txt | scb

请注意,对于表示文件系统对象的对象,Set-Clipboard将以与 Explorer 中按 Ctrl+C 键复制文件时相同的方式复制对象。如果这不是您想要的,请先通过管道传输对象Out-String

答案4

Geoffrey Huntley 最初为 Windows 编写了 pasteboard 项目,其中包括pbcopypbpaste命令。该项目现在由 Mingxiang Xu 维护,网址为https://github.com/uzxmx/pasteboard在 GitHub 上。

您可以从最新的发布或者使用以下方式安装二进制文件

scoop bucket add extras
scoop install pasteboard

然后,pbcopypbpaste命令将像在 macOS 上使用一样可用。

相关内容