How to pipe text from command line to the clipboard

I don't believe so - Vista (or NT4) introduced the clip tool, which would do your command as dir | clip - but there's nothing on XP. If you're willing to use 3rd party applications, though, there's this, which works as above, except is called cb, not clip.


For Windows and non-Windows, this post (dead link) used to say:

On Windows Vista or later, try: echo hello | clip

On Linux, try: echo hello | xclip

On Mac OS X, try: echo hello | pbcopy

For example, you might do (cat myFile.txt | xclip). This would basically allow you to edit the clipboard directly.

(I came here via Google looking for the Mac equivalent of xclip)

Similarly for contents of files (as you don't cat on 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

I looked into this for myself earlier today. Below is something helpful to those wanting to insert and retrieve information from the clipboard in a linux distribution. Below that is something that could prove helpful for those with windows.

Linux

By default, xclip uses the "primary" clipboard, which is what you have copied with your mouse. To get it to use the manual copy clipboard, use xclip -sel clip instead.

comment #3 here:
http://ubuntuforums.org/showthread.php?t=413786

Windows

The functionality is available in Active Perl distribution also, which is what I wound up using on the windows box in this exercise; The windows clip.exe didn't appear to allow for reading the data from the clipboard (only writing into clipboard).

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