Est-il possible dans un script batch pour garder la console ouverte uniquement lorsqu'elle est invoquée à partir de Windows Manager?

J'ai un DOS script batch qui invoque une application java, qui interagit avec l'utilisateur par le biais de la console de l'INTERFACE utilisateur. Pour la clarté de l'exposé, nous allons l'appeler runapp.bat et son contenu

java com.example.myApp

Si le lot script est invoqué dans une console, tout fonctionne bien. Toutefois, si le script est appelé à partir de la Fenêtre du Gestionnaire, la nouvelle console se ferme dès que l'application a terminé l'exécution. Ce que je veux, c'est pour la console reste ouverte dans tous les cas.

Je sais les tours suivants:

  • ajouter un pause commande à la fin du script. C'est un peu moche dans le cas runapp.bat est appelé à partir de la ligne de commande.
  • créer un nouveau shell à l'aide de cmd /K java com.example.myApp C'est la meilleure solution que j'ai trouvé jusqu'à présent, mais des feuilles supplémentaires de l'environnement de shell lorsqu'il est appelé à partir de la ligne de commande, de sorte que l'appel exit ne fait pas de fermer le shell.

Est-il un meilleur moyen?

OriginalL'auteur ykaganovich | 2009-02-04