Starten Sie zwei Dateien gleichzeitig und schließen Sie eine davon, wenn Sie sie schließen

309
MaddoxX

Ich brauche Code, um eine Batch-Datei zu starten, um 2 Programme gleichzeitig zu starten, und wenn ein Programm schließt, schließt auch das andere. Zum Beispiel:

start program 1 start program 2  When I exit program 1, program 2 will exit as well. But not before program 1 does. 

Ich habe diesen Code bereits ausprobiert:

@echo off cd "C:\Program Files\CCleaner" start CCleaner64.exe  cd "C:\Program Files (x86)\Wunderlist2" start Wunderlist.exe 

Dieses Programm öffnet beide Programme gleichzeitig, aber wenn ich "CCleaner" verlasse, bleibt Wunderlist geöffnet.

0
Ich brauche einen Hotkey-Code für eine Anwendung, der eine bestimmte Taste nur dann umschaltet, wenn die Anwendung ausgeführt wird! MaddoxX vor 6 Jahren 0

2 Antworten auf die Frage

1
Appleoddity

Sie müssen Programm 2 ohne Wartezeit starten. Starten Sie dann Programm 1 und warten Sie, bis es beendet ist. Wenn Sie fertig sind, müssen Sie Programm 2 beenden.

Versuche dies:

@echo off start "C:\Program Files (x86)\Wunderlist2\Wunderlist.exe” start /wait "C:\Program Files\CCleaner\CCleaner64.exe” taskkill /f /im “Wunderlist.exe” 
Ich möchte nicht, dass die zweite Anwendung nach dem ersten Öffnen geschlossen wird. Ich möchte, dass sie zur gleichen Zeit ausgeführt werden. Wenn Programm # 1 geschlossen wird, schließt auch Programm # 2. So etwas wie Start Prog 1 Start Prog 2 und dann, wenn Prog 1 geschlossen wird Prog 2 folgt MaddoxX vor 6 Jahren 0
@MaddoxX, genau das macht das Skript. Appleoddity vor 6 Jahren 0
-1
Pradyoth Shandilya

Hier ist, was Sie tun können. Ich muss dir sagen, das ist wahrscheinlich nicht die beste Methode, aber wenn ich eine schnelle Lösung brauche, würde ich dies tun.

Suchen Sie zuerst die Prozess-ID beider Prozesse. Recht?

Scannen Sie anschließend die Liste der Prozesse, die über grep oder einen ähnlichen Befehl ausgeführt werden. Tu es, sag jede Sekunde.

Prüfen Sie, ob beide IDs noch vorhanden sind. Sobald Ihre Schleife feststellt, dass einer der Prozesse nicht gefunden wird, töten Sie den anderen.

Aber ja, das bedeutet, dass Sie einen anderen Prozess mit einer Schleife im Hintergrund ausführen müssen, die Ihren PC möglicherweise verlangsamt, jedoch nicht um ein Vielfaches.

Kommentar hier, wenn Sie eine bessere Idee finden

Die Idee wird funktionieren, aber Ihre Beschreibung ist nicht sehr klar. Meiner Meinung nach ist diese Antwort überhaupt nicht hilfreich. Wenn Sie dafür einige Beispiele für Windows-basierte Skripts haben, kann dies hilfreich sein. Ansonsten ist es nur verwirrend. Appleoddity vor 6 Jahren 0
Recht. Ich habe keinen Zugriff auf einen PC, auf dem Windows ausgeführt wird. Daher konnte ich kein Skript angeben. Ich werde die Antwort bearbeiten, sobald ich einen Windows-Laptop in die Hände bekomme Pradyoth Shandilya vor 6 Jahren 0
Ich glaube nicht, dass Sie das mit Skripten machen können. Im Code wäre der richtige Ansatz, zwei Threads zu starten, von denen jeder auf die Prozess-ID eines Programms wartet, und wenn die Wartezeit freigegeben wird, wird der andere Prozess beendet, wenn er noch läuft. Während des "Laufens" würde es sich in einem Wartezustand befinden, der keine CPU-Zeit benötigt. Loren Pechtel vor 6 Jahren 0