Voer batchbestanden (DOS-opdrachten) uit vanuit Visual Studio

De geïntegreerde ontwikkelomgeving van Microsoft Visual Studio voert geen DOS-opdrachten uit, maar u kunt dat feit veranderen met een batchbestand. Toen IBM pc's introduceerde, waren batchbestanden en de originele BASIC-programmeertaal een van de weinige manieren om programma's te schrijven. Gebruikers werden experts in het programmeren van DOS-opdrachten.

Over batchbestanden

Batchbestanden kunnen in een andere context scripts of macro's worden genoemd. Het zijn slechts tekstbestanden gevuld met DOS-opdrachten. Bijvoorbeeld:

@ECHO off ECHO Hallo over Visual Basic! @ECHO op
  • De "@" onderdrukt de weergave van de huidige instructie op de console. Het commando "ECHO uit" wordt dus niet weergegeven.
  • "ECHO uit" en "ECHO aan" schakelt om of verklaringen worden weergegeven. Dus, na "ECHO uit" worden verklaringen niet weergegeven.
  • "ECHO Hallo over Visual Basic!" geeft de tekst "Hallo over Visual Basic!" weer
  • "@ECHO on" schakelt de ECHO-functie weer in zodat alles wat volgt wordt weergegeven.

Dit alles was alleen maar om ervoor te zorgen dat het enige dat u daadwerkelijk in het consolevenster ziet, het bericht is.

Een batchbestand uitvoeren in Visual Studio

De sleutel tot het rechtstreeks uitvoeren van een batchbestand in Visual Studio is om er een toe te voegen met behulp van de selectie van externe hulpmiddelen in het menu Hulpmiddelen. Om dit te doen, moet u:

  1. Maak een eenvoudig batchprogramma dat andere batchprogramma's uitvoert.
  2. Verwijs naar dat programma met behulp van de selectie Externe hulpmiddelen in Visual Studio.

Voeg voor de volledigheid een verwijzing naar Kladblok toe in het menu Extra.

Een batchprogramma dat andere batchprogramma's uitvoert

Hier is het batchprogramma dat andere batchprogramma's zal uitvoeren:

@cmd / c% 1 @pause 

De parameter / c voert de opdracht uit die is opgegeven door string en wordt vervolgens beëindigd. % 1 accepteert een tekenreeks die het programma cmd.exe probeert uit te voeren. Als de pauze-opdracht er niet was, zou het opdrachtpromptvenster worden gesloten voordat u het resultaat kon zien. De pauze-opdracht geeft de tekenreeks "druk op een willekeurige toets om door te gaan".

Tip: u kunt een snelle uitleg krijgen van elke console-opdracht-DOS met deze syntaxis in een opdrachtpromptvenster:

 /? 

Sla dit bestand op met een willekeurige naam met het bestandstype '.bat'. U kunt het op elke locatie opslaan, maar de Visual Studio-map in Documenten is een goede plek. 

Voeg een item toe aan externe tools

De laatste stap is het toevoegen van een item aan de externe hulpmiddelen in Visual Studio.

--------
Klik hier om de illustratie weer te geven
--------

Als u eenvoudig op klikt Toevoegen knop, dan krijg je een compleet dialoogvenster waarin je elk mogelijk detail voor een externe tool in Visual Studio kunt opgeven.

--------
Klik hier om de illustratie weer te geven
--------

In dit geval voert u het volledige pad in, inclusief de naam die u gebruikte toen u uw batchbestand eerder opsloeg, in het tekstvak Opdracht. Bijvoorbeeld:

C: \ Users \ Milovan \ Documents \ Visual Studio 2010 \ RunBat.bat 

U kunt elke gewenste naam invoeren in het tekstvak Titel. Op dit moment is uw nieuwe opdracht voor het uitvoeren van batchbestanden gereed. Om volledig te zijn, kunt u het RunBat.bat-bestand ook op een andere manier aan de externe hulpmiddelen toevoegen, zoals hieronder wordt getoond:

--------
Klik hier om de illustratie weer te geven
--------

In plaats van dit bestand de standaardeditor in Externe hulpprogramma's te maken, waardoor Visual Studio RunBat.bat gebruikt voor bestanden die geen batchbestanden zijn, voert u het batchbestand uit door "Openen met ..." te selecteren in een contextmenu.

--------
Klik hier om de illustratie weer te geven
--------

Omdat een batchbestand alleen een tekstbestand is dat gekwalificeerd is met het type .bat (.cmd werkt ook), zou je kunnen denken dat je de tekstbestandsjabloon in Visual Studio kunt gebruiken om er een aan je project toe te voegen. Dat kan je niet. Het blijkt dat een Visual Studio-tekstbestand geen tekstbestand is. Klik met de rechtermuisknop op het project en gebruik 'Toevoegen > Nieuw item…  om een ​​tekstbestand aan uw project toe te voegen. U moet de extensie wijzigen zodat deze eindigt op .bat. Voer de eenvoudige DOS-opdracht in, dir (geef de inhoud van een map weer) en klik OK om het aan uw project toe te voegen. Als u vervolgens probeert deze batchopdracht uit te voeren, krijgt u deze foutmelding:

'n ++ Dir' wordt niet herkend als een interne of externe opdracht, een bruikbaar programma of een batchbestand. 

Dat gebeurt omdat de standaardbroncode-editor in Visual Studio koptekstinformatie aan de voorkant van elk bestand toevoegt. Je hebt een editor nodig, zoals Kladblok, die dat niet doet. De oplossing hier is om Kladblok toe te voegen aan externe hulpmiddelen. Gebruik Kladblok om een ​​batchbestand te maken. Nadat u het batchbestand hebt opgeslagen, moet u het nog steeds als een bestaand item aan uw project toevoegen.