Як передавати текст з командного рядка в буфер обміну


34

Я хотів би зробити щось подібне

dir *.* > clipboard

тобто. get, щоб отримати стандартний вихід програми командного рядка, скопійованого в буфер обміну. Чи можна це зробити на стандартній машині XP без додаткових програм?


7
Тільки для архівів: еквіваленти Mac OS X називаються pbcopyі pbpaste.
Ар’ян

superuser.com/questions/231023/… згадує petri.co.il/software/clip.zip, який, мабуть, на Windows Server 2003 або, можливо, набір ресурсів 2003 року. Але є його для завантаження
барлоп

Відповіді:


31

Я не вірю в це - Vista (або NT4) представила clipінструмент, який би виконував вашу команду як dir | clip- але на XP немає нічого. Якщо ви бажаєте користуватися сторонніми додатками, однак, це працює, як описано вище, за винятком випадків, коли називається cb, а не кліпу.


2
як історична записка, посилання Аряна на нотатку підтримки MS посилається на NT4. але ви, мабуть, праві, що у Windows версії Windows не було clip.exe перед Vista.
квакш-кіхот

О, досить справедливо. Ніколи не отримуйте шансу возитися на ділових машинах! :(
Phoshi

якщо це будь-яке втіху, я повністю пропустив усі задоволення від Windows NT 3.51. і я взагалі не був фанатом NT, поки мені не довелося грати з 2000 деякий час.
крякати кіхот

18

Для Windows та інших країн цей пост (мертве посилання) говорив:

У Windows Vista або новіших версіях спробуйте: echo hello | clip

У Linux спробуйте: echo hello | xclip

На Mac OS X спробуйте: echo hello | pbcopy

Наприклад, ви можете це зробити (cat myFile.txt | xclip). Це в основному дозволить вам безпосередньо редагувати буфер обміну.

(Я прийшов сюди через Google, шукаючи еквівалент Mac xclip)

Аналогічно щодо вмісту файлів (як це не відбувається catу 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

1
Наведене вище посилання нараховує 500. Для тих, хто вам не знайомий pbcopy, <kbd> Команда </kbd> + <kbd> V </kbd> не вставляється: вам потрібно ввести (або псевдонім до чогось коротшого) pbpaste.
eebbesen

6

Я переглянув це для себе раніше сьогодні. Нижче є щось корисне для тих, хто хоче вставити та отримати інформацію з буфера обміну в дистрибутиві Linux. Нижче це щось, що може виявитися корисним для тих, хто має вікна.

Linux

За замовчуванням xclip використовує "первинний" буфер обміну, який ви скопіювали за допомогою миші. Щоб скористатись буфером обміну вручну, скористайтеся xclip -sel clip.

коментар №3 тут:
http://ubuntuforums.org/showthread.php?t=413786

Windows

Функціонал також доступний у Active Perl-дистрибутиві, і саме це я зафіксував у вікні Windows у цій вправі; Здається, що програма windows clip.exe не дозволяє читати дані з буфера обміну (записується лише у буфер обміну).

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


Оскільки ви вже згадували perl, я хотів би додати, що рубін і пітон також надають подібну бібліотеку.
слабкий

4

Немає стандартного способу, але ви, мабуть, можете використати clip.exeкомплект із ресурсом для Windows Server 2003. Джерело

Зараз проблемою стає отримання законної копії цього документа.


Цікаво, наскільки це законно. Цікаво, під яку ліцензію MS вкладають свої невеликі інструменти для кліпів?
Фоши

1
Він також був доступний у наборі ресурсів NT 4 та Server 2000, якщо у вас є один із доступних. Здається, він не доступний у теперішній підмножині безкоштовного завантаження 2000 інструментів RK.
АдамВ


1

У PowerShell це можна зробити так:

dir *.* | clip

1
Як осторонь: див. "Clip.exe не сумісний із блокнотом" на support.microsoft.com/kb/172596
Ар'ян

2
Це посилання не стосується PowerShell. Я перевірив це, і з "Блокнотом" все працює добре.
Марк

Я можу підтвердити, що це працює на XP, якщо на шляху вас перебуває сервер clip.exe Server 2003. Також працює у стандартному підказці CMD
Шевек

1
кліп - це лише зовнішній інструмент, тому він працюватиме на будь-яких консолях, не тільки powerhell
phuclv

0

Станом на Windows Vista та новіших версій DOS має вбудовану команду кліпу :

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

Якщо ви використовуєте cygwin в Windows (наприклад, git для Windows). Вам краще скинути вміст у тимчасовий файл, а потім "unix2dos" тимчасовий файл, перш ніж дійсно передати "кліп"


Ласкаво просимо до Супер Користувача! Будь ласка, прочитайте запитання ще раз уважно. Ваша відповідь не відповідає на початкове запитання. clipне існує в Windows XP.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.