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?

Ville Koskinen
fonte
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.

Phoshi
fonte
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
databyte
fonte
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

BenRose3d
fonte
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.

ChrisF
fonte
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
Marca
fonte
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.
Matthew Lock
fonte
-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'

beenotung
fonte
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