dennisweber
Goto Top

Tastenkombination per Batch auslösen

Hallo zusammen,

ich will einfach eine Batch, die eine Tastenkombination (STRG V) auslöst. Leider funktionert es nicht. Was ist da falsch?


if (@CodeSection == batch) then


Echo off

set SendKeys=CScript //nologo //E:JScript "%~F0"  


timeout /t 5
%SendKeys% "^(v)"  


End
// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");  
WshShell.SendKeys(WScript.Arguments(0));

Content-ID: 661821

Url: https://administrator.de/contentid/661821

Ausgedruckt am: 18.11.2024 um 11:11 Uhr

mayho33
mayho33 12.03.2021 um 10:02:39 Uhr
Goto Top
Hi!

Der große Nachteil von SendKeys ist, dass die App die angesprochen werden soll, den Focus haben muss.

Eine Lösung kann ich dir momentan nicht anbieten. Das soll nur ein Hinweis auf das extreme Manko dieser Funktion sein.

Wenn es wirklich CTRL + C, CTRL +V sein muss wirds schwierig.

Soll einfach nur eine oder mehrere Datei(en) kopiert werden kannst du xcopy oder Robocopy versuchen.

Grüße!
DennisWeber
DennisWeber 12.03.2021 aktualisiert um 10:27:22 Uhr
Goto Top
Also sieht die Batch erstmal richtig aus?


Ich habe nachdem ich die Batch (auch als Admin) ausgeführt habe und er im Timer läuft, eine Datei auf dem Desktop makiert und in der Zwischenablage gelegt.
Danach hätte die Batch mit STRG V eine Kopie der Datei machen müssen.
Tat es aber nicht.
Aber sonst geht es wenn ich es selbst die Tastenkombination auslöse.

Auch die F1 etc. geht nicht.
Da müss igwas in der Batch falsch sein.

Es geht mir aber auch nicht um ein einfaches Kopieren von Dateien. Daher kann mien Problem nicht mit xcopy ausgelöst werden.

Die Tastenkompination brauche ich zB. für Keepass um perform Autotype auszulösen etc.
mayho33
mayho33 12.03.2021 aktualisiert um 10:47:52 Uhr
Goto Top
Zitat von @DennisWeber:

Also sieht die Batch erstmal richtig aus?

Beim ersten drüber schauen, schaut die BATCH OK aus, aber ganz ehrlich, seit es Powershell gibt verwende ich keine BATCH mehr, wenn es nicht unbedingt sein muss. Dem enstsprechend sind meine Skills in BATCH eher dürftig. face-wink

Wie du hier sehen kannst (bsp)...

https://www.herber.de/forum/archiv/1300to1304/1303670_Sendkeys_StrgV_geh ...

...kämpft jeder mit SENDKEYS.

Ich verstehe irgendwie nicht wo die Ersparnis liegt, wenn man ein BATCH ausführen, im Zeitfenster was in die Zwischenablage kopieren und dann dem Ziel den Focus geben muss damit es funktioniert. Ein Tools oder Script soll ja unterstützen und nicht alles verkompllizieren.

Was genau versuchst du umzusetzen?
Doskias
Doskias 12.03.2021 um 10:51:55 Uhr
Goto Top
Moin

Bist du dir bei deiner Syntax im Sendkeys sicher?

Ich nutze Sendkeys in Powershell aber bei mir sieht es so aus und funktioniert:
$wshell.SendKeys('^V')  
wenn ich die Syntax vergleiche müsste es bei dir dann so aussehen:
 %SendKeys% ("^v")  

Gruß
Doskias
DennisWeber
DennisWeber 12.03.2021 aktualisiert um 11:31:22 Uhr
Goto Top
Zitat von @mayho33:

Was genau versuchst du umzusetzen?

Ich habe eine VM für die Arbeit angelegt, das sich per CIsco VPN Software am Firmennetzwerk verbindet.

Die VM ist daher schon nach Zeitlichenablauf so eingerichtet, das ich zum Schluss ohne weiteres Klicken STRG V ausführen soll um das Passwort von Keepass ins CIsco Feld einträgt.

Mir fehlt nur noch diesen Schritt, dann ist der Start bis Anmeldung fast komplett automatisiert.

Solange ich das Skript auch per Aufgabentask oder Autostart ausführen kann, ist es mir egal ob CMD oder PS.


Oder weißt du ob Keepass so eine Funktion mit bringt?


%SendKeys% ("^v")

Habe die Batch angepasst, es funktionert aber leider immernoch nicht