Comment faire en sorte que Powershell exécute un Fichier Batch et reste Ouvert

Si vous passez de l’ancien invite de commande à Powershell, vous avez peut-être rencontré un petit problème : comment exécuter un fichier batch et garder la fenêtre Powershell ouverte après son exécution. Ce processus peut être utile lorsque vous souhaitez continuer à travailler avec la sortie ou vérifier des détails sans relancer le fichier batch. Dans cet article, nous allons expliquer comment y parvenir facilement.

Le Problème Commun

Dans l’environnement classique de l’Invite de Commande, vous pouviez exécuter un fichier batch et garder la fenêtre ouverte en utilisant la commande :

cmd.exe /k monfichierbatch.bat

Cela exécuterait votre script monfichierbatch.bat et laisserait l’invite de commande disponible pour d’autres commandes. Cependant, avec Powershell, la situation est légèrement différente, et nous allons vous en exposer la solution.

La Solution : Utiliser le Paramètre -noexit

La clé pour garder la fenêtre Powershell ouverte réside dans l’utilisation du paramètre -noexit lors de l’appel de Powershell. Voici comment procéder étape par étape :

Instructions Étape par Étape

  1. Ouvrir Powershell : Vous pouvez commencer par ouvrir votre application Powershell. Vous pouvez rechercher “Powershell” dans la barre de recherche Windows.

  2. Entrer la Commande : Tapez la commande suivante dans la fenêtre Powershell :

    powershell -noexit -command "& 'C:\chemin\vers\votre\monfichierbatch.bat'"
    
    • Détails de la Commande :
      • powershell : Cela invoque Powershell lui-même.
      • -noexit : Ce paramètre garantit que la session Powershell reste ouverte après l’exécution de la commande.
      • -command : Cela indique à Powershell que vous souhaitez exécuter une commande.
      • & 'C:\chemin\vers\votre\monfichierbatch.bat' : Cette partie exécute votre fichier batch.
  3. Modifier le Chemin du Fichier : Assurez-vous de remplacer C:\chemin\vers\votre\monfichierbatch.bat par le chemin réel de votre fichier batch sur votre système.

Exemple

Disons que votre fichier batch est situé dans C:\Scripts\monfichierbatch.bat. Vous taperiez :

powershell -noexit -command "& 'C:\Scripts\monfichierbatch.bat'"

Résultat

En suivant ces instructions, vous devriez voir le fichier batch s’exécuter, et la fenêtre Powershell restera ouverte, vous permettant d’entrer d’autres commandes selon vos besoins. Cette méthode est une manière simple d’intégrer des fichiers batch dans votre flux de travail Powershell sans avoir à recommencer à zéro à chaque fois.

Dernières Pensées

L’utilisation du paramètre -noexit est un moyen simple mais efficace d’exécuter des fichiers batch dans Powershell tout en gardant votre session active. Cela permet un processus de travail plus fluide et plus flexible alors que vous gérez des scripts et des commandes.

Si vous avez d’autres questions ou rencontrez des problèmes, n’hésitez pas à nous contacter ! Bon script !