14Sep

Sådan skriver du et batch script på Windows

click fraud protection

Ved du, hvordan du bruger kommandoprompt? Hvis du gør det, kan du skrive en batchfil. I sin enkleste form er en batch-fil( eller batch script) en liste over flere kommandoer, der udføres, når du dobbeltklikker på filen. Batch-filer går helt tilbage til DOS, men arbejder stadig på moderne versioner af Windows.

PowerShell scripts og Bash scripts kan være mere kraftfulde, men batch-filer kan stadig være meget nyttige, hvis du skal køre grundlæggende Windows-kommandoer.

Batchfil Basics

En batchfil er simpelthen en tekstfil gemt med. bat filtypenavnet. Du kan skrive en ved hjælp af Notesblok eller en mere avanceret teksteditor som Notepad ++, men brug ikke en tekstbehandler som Microsoft Word.

Lad os lave en enkel batchfil. Først skal du åbne Notesblok. Skriv følgende linjer ind i det:

ECHO FRA ECHO Hej World PAUSE

Gem derefter filen ved at klikke på Fil & gt;Gemme. Giv det noget navn, du kan lide, men erstat standard. txt filudvidelsen med. bat-udvidelsen.

Du kan f.eks. Nævne hello_world.bat.

instagram viewer

Du har nu en batchfil med. bat filtypen. Dobbeltklik på det for at køre det. Denne særlige batchfil indstiller ECHO( som rydder udgangen ved at skjule kommandoerne fra at blive udskrevet ved prompten, udskriver teksten "Hello World" til skærmen og venter derefter på, at du trykker på en nøgle, inden den slutter.

Hvisdu har ikke tilføjet PAUSE til filen, vil batchfilen blot køre kommandoer og derefter lukke automatisk. I dette tilfælde vil det udskrive "Hello World" til vinduet og derefter lukke vinduet Kommandoprompt øjeblikkeligt. Når du vilHvis du kører flere kommandoer, kan du placere PAUSE-kommandoen mellem dem.

Skrivning af en mere kompleks batchfil

Det er grundlæggende nemt at oprette en batchfil. Det, du skal ændre, er, hvad du skriver i Notepad. For at køre flere kommandoer skriver du hver enkelt på sin egen linje, og batchfilen kører hver i rækkefølge.

Lad os f.eks. sige, at vi vil skrive en batchfil, derløber several netværksdiagnostiske kommandoer. Vi ønsker måske at køre ipconfig / alle for at få vist netværksoplysninger, ping google.com for at se, om Googles servere reagerer og spore google.com for at køre en traceroute til google.com og se om der er problemer på vej.

I den mest grundlæggende form kunne vi blot placere alle disse kommandoer i en batchfil, den ene efter den anden, sådan:

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

Når vi kører denne fil, ville vibare se output af hver kommando lige efter den anden. Men det er ikke nødvendigvis den ideelle måde at skrive en batchfil på.

Du kan f.eks. Tilføje kommandolinjer. En hvilken som helst linje der begynder med en: : er en kommentar linje og vil ikke blive udført. Det gør dem til en nyttig måde at forklare, hvad der sker i filen for alle, du kan give det til - eller til dit fremtidige selv, som måske glemmer, hvorfor du lægger en vis kommando derinde.

Du vil måske også tilføje kommandoen "ECHO OFF" til begyndelsen af ​​filen. Dette tilføjes typisk til starten af ​​de fleste batch-filer. Når du gør dette, vil kommandoerne ikke blive udskrevet til kommandopromptet, men resultaterne bliver. Du kan f.eks. Se netværksforbindelsesoplysningerne, men ikke linjen "ipconfig / all".De fleste mennesker er ligeglade med at se kommandoerne, så det kan rydde udgangen.

Så her er hvad der kan se ud:

: : Denne batchfil kontrollerer netværksforbindelsesproblemer. ECHO OFF: : Se netværksforbindelsesdetaljer ipconfig / all: : Kontroller, om Google.com er tilgængelig ping google.com: : Kør en traceroute for at kontrollere ruten til Google.com-tracert google.com PAUSE

Der er andre retninger du kan gåmed en batchfil som denne. Du kan f.eks. Have din batch script køre ovenstående kommandoer og derefter dumpe output til en tekstfil, du kan se senere. For at gøre det, vil du bruge & gt; & gt;operatør efter hver kommando for at tilføje sin output til tekstfilen. Da vi alligevel læser output fra tekstfilen, kan vi udelade PAUSE-kommandoen.

: : Denne batchfil kontrollerer netværksforbindelsesproblemer: : og gemmer output til en. txt-fil. ECHO OFF: : Se netværksforbindelsesoplysninger ipconfig / all & gt; & gt;results.txt: : Kontroller, om Google.com kan nås ping google.com & gt; & gt;results.txt: : Kør en traceroute for at kontrollere ruten til Google.com-tracert google.com & gt; & gt;results.txt

Når du har kørt det ovenstående script, vil du finde en fil med navnet results.txt i samme mappe som batchfilen med output fra kommandoerne. Vinduet Kommandoprompt lukkes automatisk, når batchfilen er færdig med at køre.

Eksemplet, som vi bruger ovenfor, er baseret på, at der faktisk udskrives information til kommandoprompt, så brugeren kan læse den. Imidlertid er mange batchfiler designet til at blive kørt ikke-interaktivt. Du kan f.eks. Have en batchfil, der sletter flere filer eller mapper, når du dobbeltklikker på den. Du skal bare bruge kommandoen del til at slette filer eller deltree-kommandoen for at slette mapper. Husk, du bruger bare de samme kommandoer, du vil køre i et kommandopromptvindue.

Grundlæggende er det punktet for de fleste batch-filer - bare kører et par kommandoer efter hinanden. Batchfiler kan imidlertid faktisk være betydeligt mere komplekse end dette. Du kan f.eks. Bruge "IF" -opgørelser sammen med kommandoen "GOTO" for at kontrollere værdien af ​​noget og derefter springe til forskellige linjer afhængigt af resultatet. Dette er mere som at skrive et faktisk lille program end et hurtigt og snavset script. Det er en grund til, at. bat-filer nogle gange kaldes "batch-programmer". Hvis du vil gøre noget mere komplekst, finder du masser af hjælpelinjer til at gøre specifikke ting med batchprogrammering online. Men nu ved du det grundlæggende om, hvordan man smider en simpel sammen.