Script de Windows para copiar algún texto al portapapeles?

Estoy usando una aplicación que requiere varios intentos de iniciar sesión (debido a servidores sobrecargados).

Esta aplicación no tiene la función "recordar mi contraseña".

Por lo tanto, me gustaría hacer un script (preferiblemente un script .bat), que primero copiara mi contraseña en el portapapeles-de modo que no tenga que volver a escribir mi contraseña en cada intento de registro-, luego iniciar la aplicación Parte fácil

¿Es esto posible con un comando de MS-DOS? ¿Necesito un pequeño exe u otro lenguaje de script?

Estoy obviamente buscando la solución más rápida para implementar.

Gracias de antemano por sus ideas

http://www.petri.co.il/software/clip.zip
Nota: el enlace de Petri está actualmente desactivado. Él lo consiguió del servidor 2003 de las ventanas pero veo clip.exe en Windows 7 también. Está en las versiones de windows post windows 7 también.

C:\>echo abc| clip <-- copies abc to the clipboard. 

EDITAR
Lo principal es que el comando clip, pero como señaló Asu, una línea como echo abc también enviará un \ r \ n (que es una nueva línea). Si quieres evitar eso, entonces ese es un problema muy estándar resuelto reemplazando echo texttoecho , con echo|set/p=texttoecho Entonces C:\>echo|set/p=texttoecho|clip

Más adición
Por supuesto, puede pegar con clic derecho, pero para una línea de comando pegar también.

Unxutils tiene gclip y pclip (no parecen estar en gnuwin32), con los que puedes copiar y pegar a través de la línea de comandos.

 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- usted puede copiar todo de wbin a eg c:\unxutils , y los EXEs no tienen dependencias / dlls.

Y por supuesto puede hacer pclip> aa para pegar en un archivo. O 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> 

La opción de barlop no es del todo correcta porque echo agregará un carácter de nueva línea a su contraseña rompiéndolo.

Lo que usted necesita usar en su lugar es esto:

 echo|set /p=MyPassWord|clip 

De esta manera, la cadena se copiará al portapapeles como está.

AutoIt v3 puede automatizar las ventanas, lo que facilita el intentar varios intentos de inicio de sesión.

AutoIt v3 es un freeware BASIC-como lenguaje de scripting diseñado para automatizar la GUI de Windows y scripting general. Utiliza una combinación de pulsaciones de teclas simuladas, movimiento del ratón y manipulación de ventana / control para automatizar las tareas de una manera no posible o confiable con otros idiomas (por ejemplo, VBScript y SendKeys). AutoIt también es muy pequeño, autónomo y se ejecutará en todas las versiones de Windows out-of-the-box sin molestar "runtimes" requerido!

AutoIt fue diseñado inicialmente para PC "roll out" situaciones para confiable automatizar y configurar miles de PCs. Con el tiempo se ha convertido en un poderoso lenguaje que soporta expresiones complejas, funciones de usuario, bucles y todo lo que los veteranos scripters esperan.

Tienen buenos ejemplos, documentación y una comunidad sólida que puede ayudarle con los problemas de guión.

Aunque, podría ser mejor preguntar si podrían resolver el problema con sus servidores sobrecargados, como las solicitudes de automatización sólo podría empeorar el problema para ellos …

Yo mismo he encontrado un escenario similar y aquí es cómo lo he resuelto.

En primer lugar, almacenar las contraseñas en la bóveda de credenciales de Windows (Windows Vista y superior). Para ello, uso la biblioteca de claves de Python, pero también puedes usar algo como CredMan (Powershell) para administrarlos. El uso de la bóveda de credenciales de Windows significa que nunca se debe escribir la contraseña en la línea de comandos, por lo que es poco probable que se escape (por ejemplo, a través de un historial de línea de comandos).

En segundo lugar, utilizo una herramienta como el clip para copiar la contraseña en el portapapeles.

Es posible que desee combinar los dos con su propio script PowerShell que agarra el texto del gestor de credenciales y lo coloca en el portapapeles. El guión podría ser algo tan simple como:

 $cred = Read-Creds 'Some System' [Windows.Forms.Clipboard]::SetText($cred.CredentialBlob) 

Entonces, todo lo que tienes que hacer es agregar la contraseña a 'Some System' en Windows Credential Manager y ese script mágicamente pondrá la contraseña en el portapapeles en el comando.

La manera más fácil de hacer esto es

Abrir el Bloc de notas

Copiar (CTRL + C) sólo esto:

Echo | set / p = MyPassWord | clip

Pegar (CTRL + V): esta línea al bloc de notas

Y cambiar "MyPassWord" para su texto y guardarlo como "nombre de archivo" .bat

Y puede editar este texto copiado siempre que lo desee, simplemente edite este archivo con el Bloc de notas.

[[Guión]]
Lazo
Message1 "Pulse Continuar para intentarlo de nuevo"
Pegar "Mi nombre de usuario"
Ficha Tipo
Pegar "Mi contraseña"
Escriba Enter
EndLoop

'Requiere administrador de portapapeles Spartan