Startpagina » hoe » Hoe een batch-script te schrijven op Windows

    Hoe een batch-script te schrijven op Windows

    Weet jij hoe je de opdrachtprompt moet gebruiken? Als u dat doet, kunt u een batchbestand schrijven. In zijn eenvoudigste vorm is een batchbestand (of batch-script) een lijst met verschillende opdrachten die worden uitgevoerd wanneer u dubbelklikt op het bestand. Batch-bestanden gaan helemaal terug naar DOS, maar werken nog steeds aan moderne versies van Windows.

    PowerShell-scripts en Bash-scripts zijn mogelijk krachtiger, maar batchbestanden kunnen nog steeds nuttig zijn als u standaard Windows-opdrachten wilt uitvoeren.

    Batch bestandsbeginselen

    Een batchbestand is gewoon een tekstbestand dat is opgeslagen met de extensie .bat. Je kunt er een schrijven met Notepad of een meer geavanceerde teksteditor zoals Notepad ++, maar gebruik geen tekstverwerker zoals Microsoft Word.

    Laten we een eenvoudig batchbestand maken. Open eerst Kladblok. Typ de volgende regels erin:

    ECHO UIT ECHO Hallo wereld PAUZE

    Sla vervolgens het bestand op door op Bestand> Opslaan te klikken. Geef het elke gewenste naam, maar vervang de standaard extensie .txt door de extensie .bat.

    U wilt bijvoorbeeld een naam geven hello_world.bat .

    U hebt nu een batchbestand met de extensie .bat. Dubbelklik erop om het uit te voeren. Met dit specifieke batchbestand wordt ECHO uitgeschakeld (waardoor de uitvoer wordt opgeschoond door de opdrachten niet meteen te laten afdrukken, de tekst 'Hello World' op het scherm wordt afgedrukt en vervolgens wacht totdat u op een toets drukt voordat deze wordt beëindigd.

    Als je niet hebt toegevoegd PAUZE voor het bestand, zou het batchbestand gewoon zijn opdrachten uitvoeren en vervolgens automatisch sluiten. In dit geval wordt 'Hallo wereld' in het venster afgedrukt en wordt het opdrachtpromptvenster onmiddellijk gesloten. Als u snel opdrachten wilt uitvoeren zonder de uitvoer te zien, kunt u dit weglaten. Als u meerdere opdrachten uitvoert, kunt u de PAUZE commando tussen hen in.

    Een meer complex batchbestand schrijven

    Het is fundamenteel eenvoudig om een ​​batchbestand te maken. Het enige dat u moet veranderen, is wat u typt in Kladblok. Als u meerdere opdrachten wilt uitvoeren, typt u elke opdracht op een eigen regel en voert het batchbestand ze allemaal op volgorde uit.

    Laten we bijvoorbeeld zeggen dat we een batchbestand willen schrijven dat verschillende diagnostische opdrachten voor het netwerk uitvoert. We willen misschien rennen ipconfig / allemaal om netwerkinformatie te bekijken, ping google.com om te zien of de servers van Google reageren, en tracert google.com om een ​​traceroute naar google.com uit te voeren en te kijken of er onderweg problemen zijn.

    In de meest eenvoudige vorm kunnen we eenvoudig al die opdrachten in een batchbestand plaatsen, de een na de ander, zoals zo:

    ipconfig / all ping google.com tracert google.com PAUSE

    Wanneer we dit bestand uitvoeren, zien we de uitvoer van elke opdracht net na de andere. Maar dit is niet noodzakelijk de ideale manier om een ​​batchbestand te schrijven.

    U wilt bijvoorbeeld commentaarregels toevoegen. Elke regel die begint met een :: is een commentaarregel en zal niet worden uitgevoerd. Dat maakt ze een handige manier om uit te leggen wat er in het bestand gebeurt voor iedereen aan wie je het zou kunnen geven - of voor je toekomstige zelf, die misschien zou vergeten waarom je een bepaald bevel daarbinnen plaatste.

    U kunt ook de opdracht "ECHO OFF" aan het begin van het bestand toevoegen. Dit wordt meestal toegevoegd aan het begin van de meeste batchbestanden. Wanneer u dit doet, worden de opdrachten zelf niet afgedrukt op de opdrachtprompt, maar de resultaten zijn dat wel. U ziet bijvoorbeeld de details van de netwerkverbinding, maar niet de regel "ipconfig / all". De meeste mensen willen de opdrachten niet zien, dus dit kan de uitvoer opschonen.

    Dus hier is hoe dat eruit zou kunnen zien:

    :: Dit batchbestand controleert op problemen met de netwerkverbinding. ECHO OFF :: Details van de netwerkverbinding bekijken ipconfig / all :: Controleer of Google.com bereikbaar is ping google.com :: Voer een traceroute uit om de route naar Google.com te controleren tracert google.com PAUSE

    Er zijn andere richtingen die u zou kunnen gebruiken met een batchbestand zoals dit. U kunt bijvoorbeeld uw batchscript de bovenstaande opdrachten laten uitvoeren en vervolgens de uitvoer naar een tekstbestand dumpen dat u later kunt bekijken. Om dit te doen, zou je de >> operator na elke opdracht om de uitvoer aan het tekstbestand toe te voegen. Aangezien we de uitvoer van het tekstbestand toch gaan lezen, kunnen we de tekst weglaten PAUZE commando.

    :: Dit batchbestand controleert op netwerkverbindingsproblemen :: en slaat de uitvoer op in een .txt-bestand. ECHO OFF :: Details netwerkverbinding bekijken ipconfig / all >> results.txt :: Controleer of Google.com bereikbaar is ping google.com >> results.txt :: Voer een traceroute uit om de route naar Google.com tracert google te controleren. com >> results.txt

    Nadat u het bovenstaande script hebt uitgevoerd, vindt u een bestand met de naam results.txt in dezelfde map als het batchbestand met de uitvoer van de opdrachten. Het opdrachtpromptvenster wordt automatisch gesloten zodra het batchbestand klaar is.

    Het voorbeeld dat we hierboven gebruiken, is afhankelijk van het feitelijk afdrukken van informatie naar de opdrachtprompt, zodat de gebruiker het kan lezen. Veel batchbestanden zijn echter ontworpen om niet-interactief te worden uitgevoerd. U kunt bijvoorbeeld een batchbestand hebben dat meerdere bestanden of mappen verwijdert telkens wanneer u erop dubbelklikt. Je zou gewoon de del opdracht om bestanden te verwijderen of de deltree opdracht om mappen te verwijderen. Vergeet niet dat u alleen dezelfde opdrachten gebruikt als in een opdrachtpromptvenster.

    Fundamenteel is dat het punt van de meeste batchbestanden - gewoon een paar commando's achter elkaar uitvoeren. Batchbestanden kunnen echter aanzienlijk complexer zijn dan dit. U kunt bijvoorbeeld "ALS" -instructies samen met de opdracht "GOTO" gebruiken om de waarde van iets te controleren en vervolgens naar verschillende regels te gaan, afhankelijk van het resultaat. Dit is meer als het schrijven van een echt klein programma dan een snel en vies script. Dat is een reden waarom .bat-bestanden soms "batchprogramma's" worden genoemd. Als u iets complexers wilt doen, vindt u tal van handleidingen om specifieke dingen te doen met online batchprogrammering. Maar nu ken je de basis van hoe je een eenvoudige samen kunt gooien.