在 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 项目,其中包括pbcopy
和pbpaste
命令。该项目现在由 Mingxiang Xu 维护,网址为https://github.com/uzxmx/pasteboard在 GitHub 上。
scoop bucket add extras
scoop install pasteboard
然后,pbcopy
和pbpaste
命令将像在 macOS 上使用一样可用。