cygwin命令复制到Windows剪贴板


82

我在这里看到:

http://www.pgrs.net/2008/1/11/command-line-clipboard-access

在linux和osx中有一种方法可以从命令行复制到剪贴板。所以我运行了cygwin setup.exe,但是找不到xsel软件包。我猜想这个包可能还没有移植到Windows?看起来有一个工具可以在Windows中执行此操作:

http://www.labnol.org/software/tutorials/copy-dos-command-line-output-clipboard-clip-exe/2506/

我想我会尝试的-但是平均而言,我想问一下是否有人找到了一个好的解决方案。

Answers:


66

在链接的页面上,有注释提示如何在Windows上执行此操作:

在Windows上,Cygwin带有getclip和putclip,它们执行相同的工作。


16
如果没有可用的cygutils-extra软件包,则需要安装软件包(src)。有趣的是,Babun默认情况下忽略了此程序包。
chrnola 2014年

159

Cygwin带有一个特殊的设备文件,名为/dev/clipboard

echo foobar > /dev/clipboard  # Puts "foobar\n" on the clipboard
cat /dev/clipboard  # Pastes clipboard to stdout

3
这也有效,但是我想我不能接受2个不同的答案
andersonbd1

5
这比getclip / putclip更好,因为它不需要安装软件包。
稳定狗2014年

8
与/ dev / clipboard相比,getclip / putclip的优势在于,前者具有在unix和dos行尾之间进行转换的选项。
esquifit 2014年

8
/ dev / clipboard的优点是它支持UTF8,而getclip / putclip不支持。
Maximilian Hils 2016年

2
而且,创建putclip包含cat - >/dev/clipboardgetclip包含cat /dev/clipboard-作为别名,函数或脚本很容易,无论您喜欢哪个。当然,您可以使用任意一对脚本名称。Mac的拥有pbcopypbpaste投入,并从剪贴板(剪贴板)的信息,例如。
乔纳森·勒夫勒

28

我第二个答案上面

将文字编入Windows剪贴板

putclip < foo.txt

将Windows剪贴板中的任何文本通过管道传输到文件

getclip > foo.txt

@Adrian感谢您注意到我对猫的无用使用。我倾向于过度使用猫,而不仅仅是管道。我更新了答案。


12

那怎么办

clip < file.extension

刚刚尝试了我的ssh键


1
clip.exe是Windows Vista中引入的,因此,您也可以使用它,但是选项是有限的。
RobSiklos


2

并非完全相同,但这是clibboard记录器。

#!/usr/bin/ksh
while true
do
    if [[ "$(</dev/clipboard)" = "${LastClip}" ]]
    then
            sleep 2
    else
            LastClip="$(</dev/clipboard)"
            echo "$(</dev/clipboard)" >> $HOME/cliplog.txt
            sleep 1
    fi
done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.