bodyparts
Goto Top

per batch fenster wechseln

Hallo,

ich starte aus einer Batch eine irview, wenn die Batch das Programm startet ist es aktive. Nun möchte ich wieder zurück zur Batch, diese ist nicht aktive.
Wie kann ich die Batch wieder aktivren, damit dort die Abfrage weiter arbeitet.

Diese soll jetzt nur auf eine Abfrage warten diese heiß weiter mit j, wenn nicht dann :eof.

Grüße BP

Content-Key: 126945

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

Printed on: April 26, 2024 at 00:04 o'clock

Member: Snowman25
Snowman25 Oct 12, 2009 at 15:27:56 (UTC)
Goto Top
: kurz : garnicht
jedenfalls nicht mit Bordmitteln

sollte ich dich falsch verstanden haben:
Ein Batchskript läuft auch dann weiter, wenn das Fenster im Hintergrund oder gar unsichtbar läuft.
Natürlich wartet so ein Skript aber beim pause- oder set /P-Befehl. Es gibt aber Mittel und wege, hier eine zeitliche Begrenzung einzubauen. Leider kann ich den Link momenten nicht finden, sorry.
Member: rubberman
rubberman Oct 12, 2009 at 17:38:37 (UTC)
Goto Top
Hallo bodyparts,

muss Snowman25 erst mal grundsätzlich beipflichten, was dein Vorhaben angeht, das ganze per Batch zu erledigen. Möglich ist das aber zumindest einigermaßen per vbs. Also mixen wir das ganze ein bisschen und lassen den Batch ein VBScript schreiben, das die Arbeit erledigt.
Das ganze könnte dann beispielsweise so aussehen:
@echo off &setlocal
:: Fenstertitel festlegen, um das Finden des Windows eindeutiger zu machen
set TTL=Test
title %TTL%
:: beispielhaft Notepad öffnen
start notepad
:: VBScript anlegen
>AppAct.vbs echo Dim oSh : Set oSh = CreateObject("WScript.Shell")  
>>AppAct.vbs echo oSh.AppActivate WScript.Arguments(0)
>>AppAct.vbs echo oSh.SendKeys "%% x"  
:: Process ID des Batchfensters suchen
for /f "tokens=2" %%i in ('tasklist /fi "windowtitle eq %TTL%" /nh^|findstr /b "cmd.exe"') do set /a PID=%%i  
:: Process ID an VBScript übergeben
AppAct.vbs %PID%
:: VBScript löschen
del AppAct.vbs
pause

Grüße
rubberman