Le cmd se ferme lorsque je ferme explorer.exe

Signaler
-
Messages postés
290
Date d'inscription
lundi 22 février 2021
Statut
Membre
Dernière intervention
22 juin 2021
-
Bonjour,
Je suis en train de réaliser un programme en .bat dans lequel je ferme explorer.exe avec la ligne taskkill /f /im explorer.exe, et ensuite j'aimerais faire en sorte que lorsque que j'appuie sur une touche du clavier, explorer.exe redémarre. Le problème est que lorsque que je ferme l'explorer, j'ai l'impression que l'invite de commande dans laquelle se lance mon fichier se ferme, ce qui empêche mon programme de fonctionner. Est-ce que vous savez s'il est possible de fermer l'explorer.exe sans fermer le cmd ou si je me trompe sur la cause de mon problème ?

4 réponses

Messages postés
16089
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 juin 2021
868
bonjour,
que se passe-t-il si tu termines l'explorer autrement?

Autrement avec quelle commande ?
Messages postés
16089
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 juin 2021
868 > GreenB4eH3lp3r
via le GUI.
Messages postés
290
Date d'inscription
lundi 22 février 2021
Statut
Membre
Dernière intervention
22 juin 2021
24
On ne peut pas, puisque Ms Dos ne tourne plus en mode réel sous Windows depuis longtemps et que l'explorateur ferme tout, y compris le clavier et l'interpréteur de commandes.

Il n'y a que 3 solutions:
-intégrer au batch une ligne start explorer.exe, agrémentée ou non d'une temporisation (timeout)
-lancer le batch au démarrage de Windows (si, si, même s'il n'y a plus de autoexec.bat depuis Windows NT, on peut moyennant quelques pirouettes)
-le lancer depuis un media externe, par exemple une clé USB bootant Ms Dos

Mon objectif est de pouvoir fermer explorer.exe, lancer un fichier .vbs et relancer explorer.exe une fois que le .vbs est fermé ou après un délai donné. Le problème est qu'une fois que une fois que l'exploreur est fermé, j'ai l'impression que mon batch se ferme également car la ligne start explorer.exe n'a aucune action.
Messages postés
16089
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 juin 2021
868 > GreenB4eH3lp3r
il est parfois utile de tester des variantes, avant d'arriver à la solution finale.
qu'est-ce qui t'empeche de faire le test demandé?
lances-tu vraiment le fichier vbs après avoir fermé explorer.exe?
Messages postés
28528
Date d'inscription
dimanche 18 janvier 2009
Statut
Contributeur
Dernière intervention
22 juin 2021
3 822
Salut,

start %windir%\explorer.exe
Messages postés
16089
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 juin 2021
868
c'est ton script complet?
Messages postés
28528
Date d'inscription
dimanche 18 janvier 2009
Statut
Contributeur
Dernière intervention
22 juin 2021
3 822 >
Messages postés
16089
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 juin 2021

Salut,

IL dit

Le problème est qu'une fois que une fois que l'exploreur est fermé, j'ai l'impression que mon batch se ferme également car la ligne start explorer.exe n'a aucune action. 


Je répond

start %windir%\explorer.exe
Messages postés
290
Date d'inscription
lundi 22 février 2021
Statut
Membre
Dernière intervention
22 juin 2021
24
Donc:
....
taskkill /f /im explorer.exe
cscript.exe tartempion.vbs
timeout -1 ou 60
start explorer.exe

Le chemin de cscript ou explorer (\windows\system32\) n'est en principe pas nécessaire puisque par défaut sous le path.
Si timeout = -1, la commande suivante n'est interprétée qu'après avoir appuyé sur n'importe quelle touche, si 60 au bout de 60 secondes.

En effet, cela ne marchera malgré tout pas si fermer explorer ferme l'interpréteur de commandes, auquel cas il faut revenir aux solutions précédentes, ou se reporter à une astuce un peu plus alambiquée pour que l'interpréteur reste ouvert, voir là (en langue anglaise):
https://stackoverflow.com/questions/61829743/how-to-keep-batch-file-running-whilst-using-taskkill-f-t-im-explorer-exe

Mais pourquoi diantre vouloir fermer explorer pour exécuter le script?