Windows script to copy some text to the clipboard?
http://www.petri.co.il/software/clip.zip
Note- Petri's link is currently down. He got it from windows server 2003 but I see clip.exe on windows 7 too. It's on windows versions post windows 7 too.
C:\>echo abc| clip <-- copies abc to the clipboard.
EDIT
The main thing is that clip command but as pointed out by Asu, a line like echo abc
will also send a \r\n (which is a new line). If you want to avoid that, then that's a very standard issue solved by replacing echo texttoecho
, with echo|set/p=texttoecho
So C:\>echo|set/p=texttoecho|clip
further addition
You can of course then paste with right click, but for a command line paste too.
unxutils(an ancient thing not maintained for well over a decade) has gclip and pclip (they don't seem to be in gnuwin32), with those you can copy and paste via command line.
note- gnuwin32 might not be that updated either.
C:\unxutilsblah\usr\local\wbin>echo a|gclip <-- copy a to clipboard
C:\unxutilsblah\usr\local\wbin>pclip
a
C:\unxutilsblah\usr\local\wbin>
note- you can just copy all of wbin to e.g. c:\unxutils
, and the EXEs have no dependencies/dlls.
and you can of course do pclip>a.a to paste to a file. or pclip|somecmd
C:\>(echo b & echo a)<ENTER>
b
a
C:\>
C:\unxutils>(echo b & echo a)|gclip<ENTER>
C:\unxutils>pclip<ENTER>
b
a
C:\unxutils>pclip|sort<ENTER>
a
b
C:\unxutils>
barlop's option isn't entirely correct because echo
will add a newline character to your password breaking it.
What you need to use instead is this:
echo|set /p=MyPassWord|clip
This way the string will be copied to the clipboard as is.
I've myself encountered a similar scenario and here's how I've solved it.
First, I store my passwords in the Windows Credential Vault (Windows Vista and greater). For this, I use Python's keyring library, but you can just as well use something like CredMan (Powershell) to manage them. Using the Windows Credential Vault means the password never has to be typed on the command line, so is unlikely to leak (such as through a command-line history).
Second, I use a tool like clip to copy the password to the clipboard.
You may find you want to combine the two with your own PowerShell script that grabs the text from the credential manager and puts it on the clipboard. The script could be something as simple as:
$cred = Read-Creds 'Some System'
[Windows.Forms.Clipboard]::SetText($cred.CredentialBlob)
Then, all you have to do is add the password to 'Some System' in Windows Credential Manager and that script will magically put the password on the clipboard on command.