it-swarm.com.de

Windows-Script zum Kopieren von Text in die Zwischenablage?

Ich verwende eine Anwendung, die mehrere Anmeldeversuche erfordert (wegen überlasteter Server).

Diese App verfügt nicht über die Funktion "Passwort speichern".

Daher möchte ich ein Skript (vorzugsweise ein .bat Skript) erstellen, das zuerst mein Passwort kopiert in die Zwischenablage - damit ich mein Passwort nicht bei jedem Anmeldeversuch erneut eingeben muss - und dann die Anwendung starten (einfacher Teil)

Ist das mit einem MS-DOS-Befehl möglich? Benötige ich eine kleine Exe oder eine andere Skriptsprache?

Ich bin offensichtlich auf der Suche nach der schnellsten Lösung für die Implementierung.

Vielen Dank im Voraus für Ihre Ideen

26
Sébastien

http://www.petri.co.il/software/clip.Zip
Hinweis: Petris Link ist derzeit nicht aktiv. Er hat es von Windows Server 2003 bekommen, aber ich sehe clip.exe auch unter Windows 7. Es ist auf Windows-Versionen nach Windows 7 auch.

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

EDIT
Die Hauptsache ist der Befehl clip, aber wie von Asu ausgeführt, sendet eine Zeile wie echo abc auch ein\r\n (das ist eine neue Zeile). Wenn Sie das vermeiden möchten, dann ist dies ein Standardproblem, das durch Ersetzen von echo texttoecho durch echo|set/p=texttoecho gelöst wird. Also C:\>echo|set/p=texttoecho|clip

weitere Ergänzung
Sie können dann natürlich mit der rechten Maustaste einfügen, aber für eine Befehlszeile auch einfügen.

unxutils hat gclip und pclip (sie scheinen nicht in gnuwin32 zu sein), mit denen Sie über die Befehlszeile kopieren und einfügen können.

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

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

C:\unxutilsblah\usr\local\wbin>

hinweis: Sie können einfach die gesamte wbin auf z. c:\unxutils und die EXEs haben keine Abhängigkeiten/DLLs.

und Sie können natürlich auch pclip> a.a ausführen, um es in eine Datei einzufügen. oder 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>
31
barlop

die Option von barlop ist nicht ganz korrekt, da echo Ihrem Passwort ein Zeilenumbruchzeichen hinzufügt, das es zerstört.

Was Sie stattdessen verwenden müssen, ist Folgendes:

echo|set /p=MyPassWord|clip

Auf diese Weise wird die Zeichenfolge unverändert in die Zwischenablage kopiert.

25
Asu

Mit AutoIt v3 können Fenster automatisiert werden, wodurch mehrere Anmeldeversuche vereinfacht werden.

AutoIt v3 ist eine Freeware-BASIC-ähnliche Skriptsprache, die zur Automatisierung der Windows-Benutzeroberfläche und der allgemeinen Skriptsprache entwickelt wurde. Es verwendet eine Kombination aus simulierten Tastenanschlägen, Mausbewegungen und Fenster-/Steuerungsmanipulationen, um Aufgaben in einer Weise zu automatisieren, die mit anderen Sprachen (z. B. VBScript und SendKeys) nicht möglich oder zuverlässig ist. AutoIt ist auch sehr klein, in sich geschlossen und läuft auf allen Windows-Versionen ohne lästige "Laufzeiten"!

AutoIt wurde ursprünglich für PC-Bereitstellungssituationen entwickelt, um Tausende von PCs zuverlässig zu automatisieren und zu konfigurieren. Im Laufe der Zeit ist es eine mächtige Sprache geworden, die komplexe Ausdrücke, Benutzerfunktionen, Schleifen und alles andere unterstützt, was erfahrene Skripter erwarten würden.

Sie haben gute Beispiele, Dokumentation und eine solide Community, die Ihnen bei Skriptproblemen helfen kann.

Sie sollten sich jedoch fragen, ob das Problem mit den überlasteten Servern behoben werden kann, da die Automatisierung von Anforderungen das Problem möglicherweise nur verschlimmert.

1
Tamara Wijsman

Ich selbst bin auf ein ähnliches Szenario gestoßen und habe es folgendermaßen gelöst.

Zuerst speichere ich meine Passwörter im Windows Credential Vault (Windows Vista und höher). Dafür verwende ich die Schlüsselbundbibliothek von Python, aber Sie können sie genauso gut mit CredMan (Powershell) verwalten. Die Verwendung des Windows-Tresors für Anmeldeinformationen bedeutet, dass das Kennwort niemals in die Befehlszeile eingegeben werden muss und daher wahrscheinlich nicht verloren geht (z. B. durch einen Befehlszeilenverlauf).

Zweitens benutze ich ein Tool wie clip, um das Passwort in die Zwischenablage zu kopieren.

Möglicherweise möchten Sie diese beiden Elemente mit Ihrem eigenen PowerShell-Skript kombinieren, das den Text aus dem Berechtigungsnachweis-Manager abruft und in die Zwischenablage legt. Das Skript könnte so einfach sein wie:

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

Alles, was Sie dann tun müssen, ist, das Kennwort zu "Some System" im Windows Credential Manager hinzuzufügen, und dieses Skript legt das Kennwort auf magische Weise auf Befehl in die Zwischenablage.

1
Jason R. Coombs

Der einfachste Weg dies zu tun ist:

  1. öffnen Sie den Editor
  2. kopieren [CTRL + C] diese Linie:
  3. ECHO | SET /P=mypassword | CLIP
  4. einfügen [CTRL + V] diese Zeile in den Editor
  5. und ändere "mypassword" für deinen Text und speichere ihn als "filename" .bat

Und Sie können diesen kopierten Text jederzeit mit Notepad bearbeiten.

0
user461284