Estoy usando una aplicación que requiere varios intentos para 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 una secuencia de comandos (preferiblemente una secuencia de comandos .bat), que primero copiaría mi contraseña en el portapapeles , para no tener que volver a escribir mi contraseña en cada intento de inicio de sesión, y 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?
Obviamente estoy buscando la solución más rápida para implementar.
Gracias de antemano por tus ideas
Respuestas:
http://www.petri.co.il/software/clip.zip
Nota: el enlace de Petri está actualmente inactivo. Lo obtuvo de Windows Server 2003, pero también veo clip.exe en Windows 7. También está en versiones de Windows posteriores a Windows 7.
EDITAR
Lo principal es ese comando de clip, pero como lo señaló Asu, una línea como
echo abc
también enviará un \ r \ n (que es una línea nueva). Si desea evitar eso, entonces ese es un problema muy estándar resuelto reemplazandoecho texttoecho
, conecho|set/p=texttoecho
SoC:\>echo|set/p=texttoecho|clip
Además
, por supuesto, puede pegar con el botón derecho, pero para una línea de comando pegar también.
Unxutils (algo antiguo que no se mantuvo durante más de una década) tiene gclip y pclip (no parecen estar en gnuwin32), con los que puede copiar y pegar a través de la línea de comandos.
note- gnuwin32 podría no ser tan actualizado tampoco.
nota: puede copiar todo wbin a
c:\unxutils
, por ejemplo , y los EXE no tienen dependencias / dlls.y, por supuesto, puede hacer pclip> aa para pegar en un archivo. o pclip | somecmd
fuente
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éndola.Lo que necesita usar en su lugar es esto:
De esta forma, la cadena se copiará en el portapapeles tal como está.
fuente
AutoIt v3 puede automatizar ventanas, lo que facilita probar varios intentos de inicio de sesión.
Tienen buenos ejemplos, documentación y una comunidad sólida que puede ayudarlo con los problemas de script.
Sin embargo, es mejor que pregunte si pueden resolver el problema con sus servidores sobrecargados, ya que la automatización de las solicitudes solo puede empeorar el problema para ellos ...
fuente
Yo mismo he encontrado un escenario similar y así es como lo he resuelto.
Primero, almaceno mis contraseñas en Windows Credential Vault (Windows Vista y superior). Para esto, uso la biblioteca de llaveros de Python, pero también puedes usar algo como CredMan (Powershell) para administrarlos. El uso de Windows Credential Vault significa que la contraseña nunca debe escribirse en la línea de comandos, por lo que es poco probable que se filtre (como a través de un historial de línea de comandos).
En segundo lugar, uso una herramienta como clip para copiar la contraseña al portapapeles.
Es posible que desee combinar los dos con su propio script de PowerShell que toma el texto del administrador de credenciales y lo coloca en el portapapeles. El guión podría ser algo tan simple como:
Luego, todo lo que tiene que hacer es agregar la contraseña a 'Some System' en Windows Credential Manager y esa secuencia de comandos colocará mágicamente la contraseña en el portapapeles por comando.
fuente
powershell -c <command>
desde dentro de CMD, por lo que si realmente tiene que ser un archivo por lotes, podría usar algo comopowershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)
después de que se usó CMD para cargar la contraseña en la variable (¡por favor, por favor!)% PASSWORD%.La forma más fácil de hacer esto es:
ECHO | SET /P=mypassword | CLIP
Y puede editar este texto copiado cuando lo desee simplemente edite este archivo con el Bloc de notas.
fuente