GOTO batch

Fermé
rio13 - 29 sept. 2009 à 17:17
 Utilisateur anonyme - 29 sept. 2009 à 19:38
Bonjour,

Je veux créer un fichier .bat qui fonctionne en arrière plan et ferme un programme si le processus est lancé. Le code suivant marche en .bat mais lorsque je convertis le fichier contenant ce code en un .exe avec BAT TO EXE CONVERTER (pour ne pas afficher la fenêtre notament) le code est executé une fois (en gros si le processus existe il est fermé) mais après ca ne revient pas au début et ca bloque (du coup, si on ferme le programme c'est comme s'il ne répondait pas). Voici le code (j'ai pris iexplore.exe mais dans mon code il y a plusieurs processus) :

@echo off
:processus
taskkill /f /im iexp*
goto processus

Y aurait-il une alternative à la commande goto ou une solution à mon problème ? J'ai vraiment besoin d'aide merci.

3 réponses

Utilisateur anonyme
29 sept. 2009 à 17:25
Hello,

Ton code a l'air correct, je ne vois pas très bien pourquoi il n'exécute pas la boucle.

Une solution alternative pourrait être d'enlever la boucle et de mettre ton .bat dans le scheduler avec par exemple une exécution toutes les minutes.

Tu pourrais aussi essayer srvany pour faire tourner ton code en tant que service.
0
Le code est correct à prioris car lorsque je le lance sous .bat il execute correctement ce que je lui demande de faire. Seulement, une fois convertis en .exe avec BAT TO EXE CONVERTER (pour rendre la fenêtre invisible) la boucle ne s'execute plus : le code est executé une fois puis le programme ne répond plus.
0
Utilisateur anonyme
29 sept. 2009 à 19:38
Bon, j'ai testé.

J'ai viré le @echo off pour voir ce qui se passait et je l'ai compilé avec bat to exe converter.

Je te confirme que la boucle fonctionne, mais en même temps, ça ne donne pas le résultat attendu. En effet :

si IE est lancé et qu'on lance le script APRES, alors IE est bien killé. La boucle continue à tourner, MAIS si on lance une nouvelle instance de IE, elle n'est pas killée...

Bizarre, on va essayer d'optimiser tout ça...
0