85 votes

Comment exécuter un .bat à partir de l'IDE ?

Ce que je veux faire est très simple, mais je n'arrive pas à trouver le moyen de le faire.
Dans mes projets, j'ai plusieurs fichiers .bat (je sais, je suis vieux) qui effectuent certaines tâches comme l'exécution de SqlMetal, etc.

Je veux juste faire un clic droit sur le fichier et sélectionner "run" ou quelque chose comme ça pour que la bat soit exécutée. Comment dois-je m'y prendre ?

Note : Je sais que je peux utiliser Outils -> Outils externes, mais ce n'est pas ce que je recherche.

0 votes

Cherchez-vous à faire cela pendant la construction ou juste en général ?

1 votes

Alors, que cherchez-vous ? Outils | Outils externes serait le moyen le plus évident de le faire. Quelle fonctionnalité supplémentaire recherchez-vous ?

0 votes

@Ade : Je regarde la productivité :)

154voto

Ade Miller Points 7750

Si chaque projet est associé à quelques fichiers batch, pourquoi ne pas les inclure dans le projet, ajouter un nouvel outil externe et le lier à un élément de menu personnalisé pour exécuter l'outil ? Vous obtiendrez ainsi une liste des fichiers batch dans chaque projet et une commande de menu contextuel pour les exécuter. Le seul inconvénient est qu'il n'est pas spécifique au type de fichier (il vous permettra d'exécuter n'importe quel fichier en tant que fichier batch).

Voici comment faire...

Créer un outil externe appelé "Exécuter un fichier batch".

  1. Réglez la commande sur : CMD.EXE
  2. Définissez les arguments à : /c "$(ItemPath)"
  3. Définissez le répertoire initial sur : $(ItemDir)
  4. Cochez la case "utiliser la fenêtre de sortie" et ensuite Appliquer pour créer la commande.
  5. Notez où la nouvelle commande apparaît dans la liste des commandes. Les commandes externes sont numérotées à partir de 1, en commençant sous la barre de séparation. #Le numéro 1 est généralement "Create GUID".

Allez maintenant dans Outils -> Personnaliser et sélectionnez l'onglet Commandes.

  1. Sélectionnez le bouton radio Menu contextuel et sélectionnez "Menus contextuels du projet et de la solution | Élément" dans la liste déroulante.
  2. Utilisez maintenant "Ajouter une commande..." pour ajouter une nouvelle commande
  3. Dans la liste des catégories, sélectionnez "Outils".
  4. Parmi les commandes, sélectionnez la "Commande externe #" qui correspond à la position de la commande personnalisée "Exécuter le fichier Batch" dont vous avez noté le numéro à l'étape 5 ci-dessus.
  5. Déplacez-le à la bonne position dans la liste ; ajoutez des raccourcis clavier, etc.
  6. Fermez la boîte de dialogue.

Maintenant, faites un clic droit sur le fichier batch et vous devriez voir un élément de menu "Exécuter le fichier batch". Ceci exécutera le fichier batch et montrera sa sortie dans la fenêtre VS Output.

1 votes

J'ai eu des exceptions IO pour le programme que j'exécutais à partir d'un fichier batch. Si quelqu'un d'autre rencontre ce problème, ne cochez pas la case "utiliser la fenêtre de sortie" pour que le fichier batch s'exécute dans sa propre fenêtre cmd.

0 votes

Voici comment créer un outil externe voir la section Ajout de nouveaux outils. msdn.microsoft.com/fr/us/library/76712d27.aspx

0 votes

Est-il possible que cet élément de menu contextuel apparaisse uniquement sur .bat des fichiers ? C'est assez étrange, si je clique sur un fichier .cs, la classe s'ouvre, dans une autre instance de Visual Studio.

38voto

Cleison Points 33
  • Cliquez à droite sur le fichier batch dans l'explorateur de solutions
  • Sélectionnez "Ouvrir avec " dans le menu contextuel.
  • Cliquez sur "Ajouter "
  • Dans la zone de texte "Nom du programme", entrez powershell.exe
  • Dans la zone de texte "Friendly name", entrez "PowerShell".
  • Sélectionnez "Définir comme valeur par défaut".
  • Cliquez sur OK

via

14voto

Erwin Mayer Points 3427

Consultez le Ouvrir la ligne de commande Extension Visual Studio.

Selon la description, il présente les caractéristiques suivantes :

  • Ouverture d'une ligne de commande à la racine du projet.
  • Prise en charge de toutes les consoles telles que CMD, PowerShell, Bash, etc.
  • Coloration syntaxique, Intellisense et exécution de fichiers .cmd et .bat .

Pour les fichiers de votre solution, un bouton de menu contextuel apparaît.

Execute batch file

Il est également possible d'utiliser le raccourci clavier Shift+Alt+5 pour éditer un fichier batch. Cela permet d'exécuter très facilement et rapidement n'importe quel fichier batch, même ceux qui ne font pas partie de votre projet.

6voto

Hans Passant Points 475940

Cliquez avec le bouton droit de la souris sur un fichier dans la fenêtre de l'explorateur de solutions, ouvrez avec, puis cliquez sur le bouton Ajouter pour ajouter vos fichiers .bat. Utilisez %1 dans votre .bat pour obtenir le chemin d'accès au fichier sélectionné.

2 votes

Peut fonctionner si je crée une autre bat ou exe qui exécute la bat. C'est également une bonne solution, mais la solution d'Ade est plus simple pour moi.

2 votes

Le lot doit contenir : cmd.exe /c %1

0 votes

Cela ne fonctionne pas pour moi dans VS2010. Si je tape autre chose qu'un chemin d'accès valide, une erreur se produit.

5voto

mhapps Points 36

Je n'ai pas réussi à faire fonctionner l'une des solutions ci-dessus, mais celle-ci a fonctionné (VS 2019/2022) :

  1. Cliquez avec le bouton droit de la souris sur un fichier .bat dans Explorateur de solutions y Ouvrir avec...
  2. Ajouter...
  3. Programme : CMD.exe
  4. Arguments : /c %1
  5. Nom amical : Commande
  6. OK y Définir comme valeur par défaut pour le double-clic des fichiers batch à exécuter à partir de Solution Explorer par défaut (ou cliquez avec le bouton droit de la souris sur Ouvrir avec... et sélectionnez Commande si vous ne voulez pas que ce soit la valeur par défaut).

Add Progream

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X