Como canalizar o texto da linha de comando para a área de transferência


34

Eu gostaria de fazer algo como

dir *.* > clipboard

ie obter a saída padrão de um programa de linha de comando copiada para a área de transferência. Isso pode ser feito em uma máquina XP padrão sem programas adicionais?


7
Apenas para os arquivos: os equivalentes do Mac OS X são chamados pbcopye pbpaste.
Arjan

superuser.com/questions/231023/… menciona petri.co.il/software/clip.zip que aparentemente está no Windows Server 2003 ou no kit de recursos de 2003, talvez. Mas existe para download
barlop

Respostas:


31

Eu não acredito nisso - o Vista (ou NT4) introduziu a clipferramenta, que faria seu comando como dir | clip- mas não há nada no XP. Se você está disposto a usar 3o partido aplicações, porém, há este , que funciona como acima, exceto é chamado cb, não cortar.


2
como uma nota histórica, o link de Arjan para a nota de suporte da Microsoft faz referência a NT4. mas você provavelmente está certo de que as versões de consumidor do Windows não incluíram o clip.exe antes do Vista.
quack quixote

Oh, é justo. Nunca tenha a chance de mexer nas máquinas comerciais! :(
Phoshi

se é algum consolo, perdi completamente toda a diversão do Windows NT 3.51. e eu não era fã do NT até jogar 2000 por um tempo.
quack quixote

18

Para Windows e não Windows, esta postagem (link morto) costumava dizer:

No Windows Vista ou posterior, tente: echo hello | clip

No Linux, tente: echo hello | xclip

No Mac OS X, tente: echo hello | pbcopy

Por exemplo, você pode fazer (cat myFile.txt | xclip). Isso basicamente permite editar a área de transferência diretamente.

(Vim aqui pelo Google procurando o equivalente a Mac xclip)

Da mesma forma para o conteúdo dos arquivos (como catno Windows):

type filename | clip  % OR clip < filename   %windows
cat filename | xclip  # OR xclip < filename  # X11 / Unix / Linux
cat filename | pbcopy # OR pbcopy < filename # MacOS X

11
O link acima agora está gerando 500. Para aqueles que não estão familiarizados pbcopy, o <kbd> Command </kbd> + <kbd> V </kbd> não cola: você precisa digitar (ou alias para algo mais curto) pbpaste.
eebbesen

6

Eu investiguei isso por mim hoje cedo. Abaixo está algo útil para aqueles que desejam inserir e recuperar informações da área de transferência em uma distribuição linux. Abaixo disso, há algo que pode ser útil para quem tem janelas.

Linux

Por padrão, o xclip usa a área de transferência "primária", que é o que você copiou com o mouse. Para que ele use a área de transferência de cópia manual, use xclip -sel clip.

comentário # 3 aqui:
http://ubuntuforums.org/showthread.php?t=413786

janelas

A funcionalidade também está disponível na distribuição Active Perl, que foi o que acabei usando na caixa do Windows neste exercício; O windows clip.exe não parecia permitir a leitura dos dados da área de transferência (apenas gravando na área de transferência).

http://www.xav.com/perl/site/lib/Win32/Clipboard.html


Como você mencionou o perl, gostaria de acrescentar que o ruby ​​e o python também fornecem uma biblioteca semelhante.
fraca

4

Não existe uma maneira padrão, mas aparentemente você pode usar o clip.exeque acompanha o kit de recursos do Windows Server 2003. Fonte

O problema agora é obter uma cópia legal disso.


Eu me pergunto como isso é legal. Em que tipo de licenciamento a MS submete suas pequenas ferramentas CLI, gostaria de saber?
Phoshi

11
Ele também estava disponível no kit de recursos NT 4 e Server 2000, se você tiver um desses disponíveis. Parece não estar disponível no subconjunto agora de download gratuito das ferramentas RK 2000.
AdamV


1

No PowerShell , isso pode ser feito assim:

dir *.* | clip

11
Como um aparte: consulte "Clip.exe não compatível com o bloco de notas" em support.microsoft.com/kb/172596
Arjan

2
Esse link não é relevante para o PowerShell. Eu testei e tudo funciona bem com o bloco de notas.
Mark

Posso confirmar que isso funciona no XP, se um clip.exe do Server 2003 estiver no seu caminho. Também funciona em um prompt padrão de CMD
Shevek

11
clipe é apenas uma ferramenta externa por isso vai trabalhar em todos os consoles, não só powershell
phuclv

0

A partir do Windows Vista e posterior, o DOS possui um comando de clipe incorporado :

CLIP

Description:
    Redirects output of command line tools to the Windows clipboard.
    This text output can then be pasted into other programs.

Parameter List:
    /?                  Displays this help message.

Examples:
    DIR | CLIP          Places a copy of the current directory
                        listing into the Windows clipboard.

    CLIP < README.TXT   Places a copy of the text from readme.txt
                        on to the Windows clipboard.

-1

Se você estiver usando o cygwin no Windows (por exemplo, git para windows). É melhor despejar o conteúdo em um arquivo temporário e, em seguida, 'unix2dos' o arquivo temporário antes de canalizar para 'clipe'


Bem-vindo ao Super Usuário! Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original. clipnão existe no Windows XP.
DavidPostill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.