2009-08-24 33 views
71

veo aquí:comandos cygwin para copiar al portapapeles de Windows

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

que hay una manera en Linux y OSX para copiar al portapapeles desde la línea de comandos. Así que ejecuté mi cygwin setup.exe, pero no pude encontrar el paquete xsel. Supongo que tal vez este paquete no ha sido portado a Windows? Parece que hay una herramienta para hacerlo en las ventanas:

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

supongo que voy a tratar de que - pero en la media pensé que había que preguntar si alguien ha encontrado una buena solución.

Respuesta

55

En la página se ha vinculado, hay comentarios insinuando cómo hacerlo en Windows:

En Windows, Cygwin viene con getclip y putclip que hacen el mismo trabajo.

+9

Si no tiene estos datos disponibles, tendrá que instalar el paquete 'cygutils-extra' mi ssh ([src] (https://cygwin.com/ml/cygwin/2013-06/msg00503.html)). Curiosamente, [Babun] (https://babun.github.io/) omite este paquete por defecto. – chrnola

23

Secundo la respuesta anterior

Para el texto gato al portapapeles de Windows

putclip < foo.txt 

Para tubería a un archivo de cualquier texto que se encuentra en el portapapeles de Windows

getclip > foo.txt 
+2

+1 por ejemplo uso. – nilamo

+0

@Adrian Gracias por notar mi uso inútil del gato. Tiendo a abusar de cat en lugar de tuberías. Actualicé mi respuesta. –

131

cygwin con un archivo de dispositivo especial llamado /dev/clipboard:

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

esto funciona también, pero supongo que no puedo aceptar 2 respuestas diferentes – andersonbd1

+3

Esto es mejor que getclip/putclip, ya que no requiere instalación de paquete. – Stabledog

+7

La ventaja de getclip/putclip sobre/dev/clipboard es que los primeros tienen opciones para convertir entre terminaciones de línea unix y dos. – esquifit

18

getclip/putclip se encuentra en el paquete cygutils-extra.

2

No exactamente lo mismo, pero aquí hay un registrador 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

qué pasa simplemente

clip < file.extension 

sólo probamos en el

clave
Cuestiones relacionadas