Script di Windows per copiare del testo negli appunti?


27

Sto utilizzando un'applicazione che richiede diversi tentativi di accesso (a causa di server sovraccarichi).

Questa app non ha la funzione "Ricorda la mia password".

Pertanto, vorrei creare uno script (preferibilmente uno script .bat), che prima copiasse la mia password negli Appunti , in modo da non dover digitare nuovamente la mia password ad ogni tentativo di accesso-, quindi avviare l'applicazione ( parte facile)

È possibile con un comando MS-DOS? Ho bisogno di un piccolo exe o di un altro linguaggio di script?

Ovviamente sto cercando la soluzione più rapida da implementare.

Grazie in anticipo per le tue idee


Non penso che tu possa risolverlo in un file .bat, dai un'occhiata a autohotkey che dovrebbe risolvere il tuo problema in poche righe, se conosci già un linguaggio di programmazione questo dovrebbe essere abbastanza facile.
Guillermo Siliceo Trueba,

Risposte:


33

http://www.petri.co.il/software/clip.zip
Nota- Il link Petri è attualmente inattivo. L'ha preso da Windows Server 2003 ma vedo clip.exe anche su Windows 7. È presente anche nelle versioni di Windows post Windows 7.

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

EDIT
La cosa principale è quel comando di clip ma, come sottolineato da Asu, una linea simile echo abcinvierà anche un \ r \ n (che è una nuova linea). Se vuoi evitarlo, allora questo è un problema molto standard risolto sostituendolo echo texttoecho, con echo|set/p=texttoechoSoC:\>echo|set/p=texttoecho|clip

ulteriore aggiunta
Puoi ovviamente incollare con il tasto destro del mouse, ma anche per incollare da riga di comando.

unxutils (una cosa antica non mantenuta per oltre un decennio) ha gclip e pclip (non sembrano essere in gnuwin32), con quelli che puoi copiare e incollare dalla riga di comando.

note- gnuwin32 potrebbe non essere neanche aggiornato.

C:\unxutilsblah\usr\local\wbin>echo a|gclip <-- copy a to clipboard

C:\unxutilsblah\usr\local\wbin>pclip  
a

C:\unxutilsblah\usr\local\wbin>

nota: puoi semplicemente copiare tutto il wbin in eg c:\unxutils, e gli EXE non hanno dipendenze / dll.

e ovviamente puoi fare pclip> aa per incollarlo in un file. 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>

In una nota correlata, nella finestra cmd, fai clic con il tasto sinistro in alto a sinistra, quindi su Proprietà, quindi nella scheda Opzioni, seleziona la casella che dice la modalità Quickedit. Ora puoi copiare / incollare velocemente. fai clic su tieni premuto e trascina con il mouse su ciò che vuoi copiare selezionandolo, premi INVIO per copiare. Fare clic con il tasto destro per incollare.
barlop

e per incollare sulla riga di comando, fare clic con il tasto destro del mouse. per farlo all'interno di un file batch, dovrai scrivere un piccolo script o un eseguibile in qualche altra lingua come vbs, perl, c per farlo o compilare qualcuno elses stackoverflow.com/questions/1704455/… tra l'altro, .vbs usa wshextra .dll set clip = createobject ("WshExtra.Clipboard") Sembra che Perl lo faccia in due piccole righe e non abbia bisogno di file extra.
barlop

e la pagina web sul sito di Petri che lo menzionava sebbene molti altri si limitassero a collegarsi al file. petri.co.il/quickly_copy_error_and_display_messages.htm
barlop

anche che puntano cita il Raymond Chen blogpost ma anche un commento sulla risposta c'è su questo link SO cita un commento sul post Raymond Chen che utilizza UnxUtils gclip e pclip stackoverflow.com/questions/1704455/...
barlop

2
Tuttavia, vedo che clip.exe è disponibile in Windows 10.
Bill Rodman,

26

L'opzione di barlop non è del tutto corretta perché echoaggiungerà un carattere di nuova riga alla password per romperlo.

Quello che devi usare invece è questo:

echo|set /p=MyPassWord|clip

In questo modo la stringa verrà copiata negli appunti così com'è.


1
Questa dovrebbe essere una risposta accettata. Mi ha aiutato con il nuovo carattere di linea e virgolette.
Piotr Sobczyk,

avrebbe dovuto modificare la risposta esistente
endolith

@endolith Non avevo i privilegi per farlo in quel momento.
Asu,

non proprio com'è: alla fine viene aggiunto uno spazio vuoto.
Thierry Dalon,

@ThierryDalon "| clip" alla fine rimuove lo spazio, quindi non dovresti averlo aggiunto.
Asu,

1

AutoIt v3 è in grado di automatizzare Windows, il che rende semplice provare diversi tentativi di accesso.

AutoIt v3 è un linguaggio di scripting di tipo BASIC freeware progettato per automatizzare la GUI di Windows e gli script generali. Utilizza una combinazione di tasti simulati, spostamento del mouse e manipolazione di finestre / controlli al fine di automatizzare le attività in un modo non possibile o affidabile con altri linguaggi (ad esempio VBScript e SendKeys). AutoIt è anche molto piccolo, autonomo e funzionerà su tutte le versioni di Windows senza necessità di fastidiosi "runtime"!

AutoIt è stato inizialmente progettato per le situazioni di "roll out" dei PC per automatizzare e configurare in modo affidabile migliaia di PC. Nel corso del tempo è diventato un linguaggio potente che supporta espressioni complesse, funzioni utente, cicli e tutto ciò che gli scripter veterani si aspetterebbero.

Hanno buoni esempi, documentazione e una solida comunità che può aiutarti con problemi di script.

Tuttavia, potresti essere meglio chiedere se potrebbero risolvere il problema con i loro server sovraccarichi, poiché l'automazione delle richieste potrebbe solo peggiorare il problema per loro ...


Questo strumento sembra molto utile, tuttavia mi atterrò al manuale Ctrl-V, non mi ci vorrà molto più tempo ora che non devo digitare la password o manualmente Ctrl-C.
Sébastien,

1
@Sebastien: Non capisco, stai chiedendo uno script per aiutarti a compilare la password più facilmente e tuttavia accetti solo una soluzione che fa solo una copia / incolla? Lo sapevi che se selezioni le cerchie della password nella casella della password puoi semplicemente copiarle / incollarle da lì? Tieni presente che puoi votare le risposte con la freccia sopra il numero per premiare la reputazione.
Tamara Wijsman,

1
La prima risposta in realtà soddisfa esattamente la necessità (piuttosto basilare) che ho descritto nella domanda. Ora, quando voglio fare un ulteriore passo avanti nell'automazione, darò sicuramente un'occhiata ad AutoIt;) [e riguardo al "voto in alto", non ne ho ancora la reputazione]
Sébastien,

"cerchie per password" Intendi gli asterischi? Non sono cerchi! Prova a digitarli con un carattere enorme in Ms Word ;-) Err, beh, immagino che alcuni software utilizzino le cerchie!
barlop

@barlop: No, non asterischi. I cerchi sono davvero sbagliati, penso che siano chiamati "punti", vedi questa immagine . La prossima volta,
digiterò

1

Io stesso ho incontrato uno scenario simile ed ecco come l'ho risolto.

Innanzitutto, memorizzo le mie password in Windows Credential Vault (Windows Vista e versioni successive). Per questo, io uso la libreria di portachiavi di Python, ma puoi anche usare qualcosa come CredMan (Powershell) per gestirli. L'uso di Windows Credential Vault significa che la password non deve mai essere digitata sulla riga di comando, pertanto è improbabile che si verifichino perdite (ad esempio attraverso una cronologia della riga di comando).

In secondo luogo, utilizzo uno strumento come clip per copiare la password negli Appunti.

Potresti scoprire di voler combinare i due con il tuo script PowerShell che prende il testo dal gestore delle credenziali e lo mette negli appunti. Lo script potrebbe essere qualcosa di semplice come:

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

Quindi, tutto ciò che devi fare è aggiungere la password a "Alcuni sistemi" in Gestione credenziali di Windows e lo script inserirà magicamente la password negli Appunti a comando.


1
Grazie; Stavo per suggerire di usare Powershell per accedere agli Appunti. Nota che puoi usare powershell -c <command>da CMD, quindi se in realtà deve essere un file batch, potrebbe usare qualcosa di simile powershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)dopo che CMD è stato usato per caricare la password nella variabile (temporanea, per favore!)% PASSWORD%.
CBHacking,

0

Il modo più semplice per farlo è:

  1. apri il Blocco note
  2. copia [ CTRL+ C] questa riga:
  3. ECHO | SET /P=mypassword | CLIP
  4. incolla [ CTRL+ V] questa riga nel Blocco note
  5. e cambia "mypassword" per il testo, quindi salvalo come "nomefile" .bat

E puoi modificare questo testo copiato ogni volta che vuoi solo modificare questo file con Blocco note.


-1 avresti dovuto riassumere questa risposta in una frase in alto, prima dei tuoi piccoli passi (se includi tutti i piccoli passi), e quel sommario sarebbe per salvare le persone tecniche dal dover leggere tutti i tuoi piccoli passi. L'interrogante sa come scrivere una sceneggiatura, quindi sa che ctrl-c copia negli appunti e nelle paste ctrl-v. come farebbe la maggior parte dei super utenti, ed è per questo che questo sito è destinato. Naturalmente, la tua risposta è già assillata da altri. Hai appena aggiunto piccoli passaggi che l'interrogante non ha bisogno.
barlop

1
E dovresti dichiarare che non stai offrendo una nuova soluzione qui, ma solo elaborando una già affermata.
barlop

Perché ripetere la risposta di qualcun altro?
Asfand Qazi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.