Mon problème est que dans Windows, il existe des fenêtres en ligne de commande qui se ferment immédiatement après leur exécution. Pour résoudre ce problème, je veux que le comportement par défaut soit que la fenêtre reste ouverte. Normalement, ce comportement peut être évité avec trois méthodes qui me viennent à l’esprit:
- Mettre une
pause
ligne après les programmes batch pour inviter l’utilisateur à appuyer sur une touche avant de quitter - Exécution de ces fichiers de commandes ou d’autres outils de manipulation de ligne de commande (même le démarrage, le redémarrage d’un service, etc. avec
net start xy
ou quoi que ce soit de similaire) danscmd.exe
(Démarrer - Exécuter - cmd.exe) - Exécuter ces programmes avec
cmd /k
comme ceci:cmd /k myprogram.bat
Mais il existe d'autres cas dans lesquels l'utilisateur:
- Exécute le programme pour la première fois et ignore que le programme en question sera exécuté à l’invite de commande (processeur de commande Windows), par exemple lors de l’exécution d’un raccourci à partir du menu Démarrer (ou ailleurs), OU
- Il est un peu inconfortable d’exécuter tout le temps cmd.exe et n’a pas le temps / l’opportunité de réécrire le code de ces commandes partout pour les mettre en pause ou éviter de quitter explicitement.
J'ai lu un article sur la modification du comportement par défaut cmd.exe
lors de son ouverture explicite, avec la création d'une entrée d'exécution automatique et la manipulation de son contenu à ces emplacements:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Les éléments AutoRun sont _String values_
...)
J'en ai fait cmd /d /k
une valeur pour l'essayer, mais cela n'a pas du tout changé le comportement des éléments mentionnés ci-dessus ... Cela a juste changé le comportement de la fenêtre de ligne de commande lors de son ouverture explicite (Start-Run- cmd.exe).
Alors, comment ça marche? Pouvez-vous me donner des idées pour résoudre ce problème?
stdout
manière constante et n'ont jamais été supposées être visibles pour une bonne raison.