2016-03-16 7 views
5

Guten Tag, ich habe eine .bat-Datei, die eine bestimmte Anwendung ausführen, dann nach 5 Sekunden wird es schließen/töten.Öffnen/Schließen Anwendung über .bat-Datei [Windows]

Ich habe gerade wegen es erfolgreich geöffnet die Anwendung dachte, wenn die App öffnet es wird nicht ausgeführt, die verbleibenden Befehle, es sei denn, ich manuell die App zu schließen.

Hier ist mein Code:

cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
asperascp.exe 
sleep 5 
taskkill /IM asperascp.exe /f 

Ich versuche auch, den sleep Befehl zu entfernen.

cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
asperascp.exe 
taskkill /IM asperascp.exe /f 

Aber es wird dieselbe Ausgabe haben, es wird nicht die restlichen Befehle ausführen, wenn die asperascp.exe startet.

Irgendwelche Tipps?

Danke.

Antwort

7

Sie können den Befehl Start /b verwenden.

@echo off 
cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
Start "" /b asperascp.exe 
timeout /T 5 /nobreak >nul 
taskkill /IM asperascp.exe /F 
+2

Er sagt, es wartet bereits zu beenden, bevor Sie fortfahren. Er will es fünf Sekunden nach dem Start töten. er sollte "start/b" verwenden. – SomethingDark

+1

@SomethingDark Ich bearbeite meine Antwort Danke für Ihre Nachricht an mich – Hackoo

+0

Vielen Dank, du bist großartig! – Edmhar

3

TASKKILL /IM asperascp.exe /F
werden alle Bilder mit dem gleichen Bildnamen töten. Wenn Sie also zum Beispiel das gleiche Programm zweimal ausführen und das zweite Programm vor dem ersten Programmstart gestartet wird, wird auch das zweite Programm beendet, wenn das erste Programm taskkill ausführt. Wenn Sie tasklist tun, sehen Sie einige Bilder mit dem gleichen Bildnamen, aber mit unterschiedlichen PIDs. Sie müssen die PID des Prozesses von Ihrer Batch-Datei gestartet bekommen (ich kann nicht denken, wie dies mit CMD zu tun). Dann können Sie verwenden: