2009-08-24 113 views
71

我在这里看到:cygwin的命令复制到Windows剪贴板

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/

我想我会尝试 - 但在此我想我会问,如果有人已经找到了一个很好的解决方案。

回答

55

在你的链接页面,有评论暗示如何做到这一点在Windows上:

在Windows,Cygwin的配备getclip 和putclip其做同样的工作。

+9

如果没有这些可用做什么,你需要安装'cygutils-extra'包( [SRC](https://cygwin.com/ml/cygwin/2013-06/msg00503.html))。有趣的是[Babun](https://babun.github.io/)默认省略了这个包。 – chrnola 2014-12-03 14:40:08

23

我第二上述

的答案,猫文本到Windows剪贴板

putclip < foo.txt 

要管到一个文件中的任何文本是在Windows剪贴板

getclip > foo.txt 
+2

+1为例。 – nilamo 2009-08-26 04:31:07

+0

@Adrian感谢您注意到我对猫的无用用途。我倾向于滥用猫,而不仅仅是管道。我更新了我的答案。 – 2013-02-13 23:34:41

131

Cygwin的来用特殊的设备文件叫做/dev/clipboard

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

这也适用,但我想我不能接受2个不同的答案 – andersonbd1 2009-08-26 12:51:49

+3

这比getclip/putclip更好,因为它不需要安装软件包。 – Stabledog 2014-05-04 19:31:22

+7

getclip/putclip优于/ dev /剪贴板的优点在于前者具有在unix和dos行尾之间进行转换的选项。 – esquifit 2014-12-28 20:03:43

18

getclip/putclip在cygutils-extra软件包中找到。

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 
9

怎么样只是

clip < file.extension 

只是试图在我的SSH密钥