in

Puis-je exécuter un fichier batch Windows sans invite de commande visible?

Les fichiers batch sont un moyen pratique d’exécuter une série de commandes sous Windows, mais existe-t-il quand même de les exécuter de manière invisible en arrière-plan? Lisez la suite pour savoir comment.

La question

Le lecteur SuperUser Jake veut exécuter un fichier BAT de manière invisible, il écrit:

J’ai installé une gemme rubis appelée Redcar, qui est lancée à partir de la ligne de commande. Quand il s’exécute, il vole le shell jusqu’à ce qu’il se termine, donc je dois créer une nouvelle fenêtre shell pour continuer à travailler en ligne de commande. Le shell que j’utilise est le shell GITBash de MySysGit.

J’ai trouvé un fichier Redcar.bat qui est destiné à lancer Redcar comme raccourci, je suppose, mais je ne veux pas que la fenêtre d’invite de commande supplémentaire s’ouvre chaque fois que je lance le fichier BAT.

Comment exécuter simplement le BAT sans voir l’invite?

Y a-t-il une solution au désir furtif de Jake?

Les réponses

Afrazier, contributeur SuperUser, répond par une combinaison de mauvaises et de bonnes nouvelles:

Vous ne pouvez pas – exécuter un fichier de commandes avec l’invite de commande intégrée va garder une fenêtre ouverte jusqu’à ce que le fichier de commandes se termine.

Ce que vous faites est de prendre des mesures pour vous assurer que le fichier de commandes se termine le plus rapidement possible. Dans la mesure du possible, modifiez le fichier de commandes pour exécuter n’importe quel programme avec le start commander. Par défaut, start retourne immédiatement sans attendre que le programme se termine, le fichier de commandes continuera donc à s’exécuter et, vraisemblablement, se fermera immédiatement. Ajoutez à cela la modification de votre raccourci pour exécuter le fichier de commandes minimisé, et vous ne verrez que la barre des tâches clignoter sans même voir une fenêtre à l’écran.

Une mise en garde à ceci est que si vous exécutez un programme en mode console, ce que sont de nombreux interpréteurs de scripts, le fichier de commandes attendra que le programme se termine et utilise start va engendrer une nouvelle fenêtre de console. Ce que vous devez faire dans ce cas est d’exécuter la version Windows de l’interpréteur au lieu de celle basée sur la console – non start nécessaire. Pour Perl, vous exécuteriez wperl.exe au lieu de perl.exe. Pour Python, c’est pythonw.exe au lieu de python.exe. L’ancienne distribution Win32 Ruby que j’ai téléchargée a rubyw.exe, qui devrait faire la même chose.

Une dernière possibilité consiste à utiliser un outil tiers pour exécuter l’invite de commande avec une fenêtre masquée. J’ai entendu parler de telles choses mais je n’en ai jamais eu l’utilité, donc je ne connais rien de particulier à vous signaler.

Les lecteurs lui ont également indiqué un autre thread SuperUser qui met en évidence la façon dont vous pouvez utiliser un script Visual Basic pour aller au-delà de la minimisation de la visibilité et masquer carrément l’invite CMD. Dans ce fil, Harry MC explique:

Solution 1:

Enregistrez cette ligne de texte en tant que fichier invisible.vbs:

Pour exécuter un programme ou un fichier de commandes de manière invisible, utilisez-le comme ceci:

Pour pouvoir également transmettre / relayer une liste d’arguments, utilisez uniquement deux guillemets doubles

par exemple: Invisible.vbs «Kill.vbs ME.exe»

Solution 2:

Utilisez un outil de ligne de commande pour lancer un processus en silence: Silencieux.

L’utilisation de l’une des solutions ci-dessus, en fonction de votre niveau de confort en utilisant VBS et des outils tiers ou non, réduira au minimum la visibilité de la fenêtre CMD ou la supprimera carrément.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment démarrer une nouvelle section sur un numéro de page impair dans Word 2013

Comment démarrer une nouvelle section sur un numéro de page impair dans Word 2013

Comment annuler votre abonnement Peacock et modifier vos plans

Comment annuler votre abonnement Peacock et modifier vos plans