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?
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.
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
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.
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).
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
2
Os usuários do Windows podem fazer gclip.exeparte de um grande pacote de ferramentas , o que permite fazer exatamente isso.
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.
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.
pbcopy
epbpaste
.Respostas:
Eu não acredito nisso - o Vista (ou NT4) introduziu a
clip
ferramenta, que faria seu comando comodir | 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 é chamadocb
, não cortar.fonte
Para Windows e não Windows, esta postagem (link morto) costumava dizer:
(Vim aqui pelo Google procurando o equivalente a Mac
xclip
)Da mesma forma para o conteúdo dos arquivos (como
cat
no Windows):fonte
pbcopy
, o <kbd> Command </kbd> + <kbd> V </kbd> não cola: você precisa digitar (ou alias para algo mais curto)pbpaste
.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
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
fonte
Não existe uma maneira padrão, mas aparentemente você pode usar o
clip.exe
que acompanha o kit de recursos do Windows Server 2003. FonteO problema agora é obter uma cópia legal disso.
fonte
Os usuários do Windows podem fazer
gclip.exe
parte de um grande pacote de ferramentas , o que permite fazer exatamente isso.fonte
No PowerShell , isso pode ser feito assim:
fonte
A partir do Windows Vista e posterior, o DOS possui um comando de clipe incorporado :
fonte
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'
fonte
clip
não existe no Windows XP.