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.