web-dev-qa-db-fra.com

Ouverture / fermeture de l'application via le fichier .bat [Windows]

Bonjour, j'ai un fichier .bat qui exécute une application spécifique puis après 5 secondes, il le fermera/le tuera.

En ce moment, en raison de l'ouverture réussie de l'application, je pense que lorsque l'application ouvrira, elle n'exécutera pas les commandes restantes, sauf si je ferme manuellement l'application.

Voici mon code:

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

J'essaie également de supprimer la commande sleep.

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

Mais il aura la même sortie qu'il n'exécutera pas les commandes restantes au démarrage de asperascp.exe.

Des conseils?

Merci.

9
Edmhar

Vous pouvez utiliser la commande Start/b .

@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
15
Hackoo

TASKKILL /IM asperascp.exe /F
tuera toutes les images avec le même nom d'image. Ainsi, si vous exécutez le même programme deux fois, par exemple, et que le second démarre avant la fin du premier, le second sera également tué lorsque le premier exécutera taskkill. Si vous faites tasklist vous verrez des images avec le même nom d'image, mais avec des PID différents. Vous devrez obtenir le PID du processus démarré par votre fichier de commandes (je ne peux pas penser à comment faire cela avec CMD.) Ensuite, vous pouvez utiliser: TASKKILL /PID 999 /F

3
Marichyasana