Script do Windows para copiar algum texto para a área de transferência?

25

Estou usando um aplicativo que requer várias tentativas de login (devido a servidores sobrecarregados).

Este aplicativo não tem o recurso "lembrar minha senha".

Portanto, eu gostaria de criar um script (preferencialmente um script .bat), que primeiro copie minha senha na área de transferência - para que eu não faça tem que redigitar minha senha em cada tentativa de logon, em seguida, inicie o aplicativo (parte fácil)

Isso é possível com um comando do MS-DOS? Preciso de um pouco de exe ou outra linguagem de script?

Obviamente, estou procurando a solução mais rápida para implementar.

Agradecemos antecipadamente por suas ideias

    
por Sébastien 09.01.2011 / 18:41

5 respostas

31

link
Nota: o link de Petri está desativado. Ele pegou do windows server 2003, mas também vejo o clip.exe no windows 7. É nas versões do windows que também são postas no windows 7.

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

EDITAR
O principal é que o comando clip, mas como apontado por Asu, uma linha como echo abc também enviará um \ r \ n (que é uma nova linha). Se você quiser evitar isso, então esse é um problema muito comum resolvido substituindo echo texttoecho , com echo|set/p=texttoecho So C:\>echo|set/p=texttoecho|clip

adição adicional
Você pode, claro, colar com o botão direito do mouse, mas também para colar uma linha de comando.

unxutils tem gclip e pclip (eles não parecem estar no gnuwin32), com aqueles que você pode copiar e colar via linha de comando.

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: você pode copiar todo o wbin para, por exemplo, c:\unxutils , e os EXEs não possuem dependências / dlls.

e você pode, claro, fazer o pclip > a.a para colar em um arquivo. ou 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>
    
por 09.01.2011 / 19:08
25

A opção do barlop não está totalmente correta porque echo adicionará um caractere de nova linha à sua senha, quebrando-o.

O que você precisa usar é:

echo|set /p=MyPassWord|clip

Desta forma, a string será copiada para a área de transferência como é.

    
por 03.06.2013 / 19:55
1
O

AutoIt v3 pode automatizar o Windows, o que facilita a tentativa de várias tentativas de login.

AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying "runtimes" required!

AutoIt was initially designed for PC "roll out" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

Eles têm bons exemplos, documentação e uma comunidade sólida que pode ajudá-lo com problemas de script.

No entanto, talvez seja melhor perguntar se eles poderiam resolver o problema com os servidores sobrecarregados, já que a automação de solicitações pode apenas piorar o problema ...

    
por 09.01.2011 / 18:55
1

Eu mesmo encontrei um cenário semelhante e eis como resolvi isso.

Primeiro, eu armazeno minhas senhas no Cofre de Credenciais do Windows (Windows Vista e superior). Para isso, eu uso a biblioteca de chaves do Python, mas você também pode usar algo como CredMan (Powershell) para gerenciá-los. Usar a Quarentena de Credenciais do Windows significa que a senha nunca precisa ser digitada na linha de comando, portanto, é improvável que ela vaze (por exemplo, por meio de um histórico de linha de comando).

Em segundo lugar, eu uso uma ferramenta como o clipe para copiar a senha para a área de transferência.

Você pode descobrir que deseja combinar os dois com seu próprio script do PowerShell que captura o texto do gerenciador de credenciais e o coloca na área de transferência. O script pode ser algo tão simples como:

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

Em seguida, tudo o que você precisa fazer é adicionar a senha a 'Some System' no Gerenciador de Credenciais do Windows e esse script colocará magicamente a senha no comando da área de transferência.

    
por 29.11.2014 / 00:26
0

A maneira mais fácil de fazer isso é:

  1. abra o Bloco de Notas
  2. copia [ CTRL + C ] desta linha:
  3. ECHO | SET /P=mypassword | CLIP
  4. cole [ CTRL + V ] esta linha no Bloco de Notas
  5. e altere "mypassword" para o seu texto e salve-o como "nome do arquivo" .bat

E você pode editar este texto copiado sempre que desejar, basta editar este arquivo com o Bloco de Notas.

    
por 22.06.2015 / 12:06