14Sep
Vet du hvordan du bruker kommandoprompt? Hvis du gjør det, kan du skrive en batchfil. I sin enkleste form er en batchfil( eller batch script) en liste over flere kommandoer som utføres når du dobbeltklikker filen. Batchfiler går helt tilbake til DOS, men arbeider fortsatt med moderne versjoner av Windows.
PowerShell-skript og Bash-skript kan være kraftigere, men batchfiler kan fortsatt være mye nyttige hvis du trenger å kjøre grunnleggende Windows-kommandoer.
Grunnleggende om batchfil
En batchfil er bare en tekstfil lagret med. bat filtypen. Du kan skrive en ved hjelp av Notisblokk eller et mer avansert tekstredigeringsprogram som Notepad ++, men ikke bruk tekstbehandler som Microsoft Word.
La oss lage en enkel batchfil. Først, åpne Notisblokk. Skriv inn følgende linjer i det:
ECHO OFF ECHO Hei World PAUSEDeretter lagrer du filen ved å klikke på File & gt;Lagre. Gi det noe navn du liker, men erstatt standard. txt filutvidelse med. bat-utvidelsen.
Du kan for eksempel kanskje nevne det hello_world.bat.
Du har nå en batchfil med. bat filtypen. Dobbeltklikk det for å kjøre det. Denne spesielle batchfilen setter ECHO av( som fjerner utdataene ved å skjule kommandoer fra å bli skrevet ut ved spørringen, skriver ut teksten "Hello World" til skjermen, og venter deretter på at du trykker på en tast før den slutter.
Hvisdu har ikke lagt til PAUSE i filen, vil batchfilen bare kjøre kommandoer og deretter lukkes automatisk. I dette tilfellet vil det skrive ut "Hello World" til vinduet og deretter lukke vinduet Kommandoprompt umiddelbart. Når du vilHvis du kjører flere kommandoer, kan du plassere PAUSE-kommandoen mellom dem.
Skrive en mer kompleks batchfil
Det er grunnleggende enkelt å lage en batchfil.ting du må endre er det du skriver inn i Notisblokk. Hvis du vil kjøre flere kommandoer, skriver du hver på sin egen linje og batchfilen kjører hver i rekkefølge.
For eksempel, la oss si at vi vil skrive en batchfil somkjører syveral nettverk diagnostiske kommandoer. Vi vil kanskje kjøre ipconfig / alle for å vise nettverksinformasjon, ping google.com for å se om Googles tjenere svarer, og spore google.com for å kjøre en traceroute til google.com og se om det er noen problemer underveis.
I den mest grunnleggende form kan vi ganske enkelt plassere alle kommandoene i en batchfil, den ene etter den andre, slik:
ipconfig / all ping google.com tracert google.com PAUSENår vi kjører denne filen, ville vibare se utgangen av hver kommando rett etter den andre. Men dette er ikke nødvendigvis den ideelle måten å skrive en batchfil på.
Du kan for eksempel legge til kommentarlinjer. En hvilken som helst linje som begynner med en: : er en kommentarlinje og vil ikke bli utført. Det gjør dem til en nyttig måte å forklare hva som skjer i filen for alle du kan gi den til - eller for ditt fremtidige selv, som kanskje glemmer hvorfor du legger en bestemt kommando der inne.
Du vil kanskje også legge til kommandoen "ECHO OFF" til begynnelsen av filen. Dette legges vanligvis til i starten av de fleste batchfiler. Når du gjør dette, vil ikke kommandoene skrives ut til kommandoprompt, men resultatene blir. For eksempel ser du nettverksforbindelsesdetaljer, men ikke linjen "ipconfig / all".De fleste bryr seg ikke om å se kommandoene, så dette kan rydde opp produksjonen.
Så her er det som kan se ut:
: : Denne batchfilen kontrollerer nettverksforbindelsesproblemer. ECHO OFF: : Se nettverkstilkoblingsdetaljer ipconfig / alle: : Sjekk om Google.com er tilgjengelig ping google.com: : Kjør en traceroute for å sjekke ruten til Google.com-tracert google.com PAUSEDet er andre retninger du kan gåmed en batchfil som dette. For eksempel vil du kanskje ha batch-skriptet kjøre de ovennevnte kommandoene, og deretter dumpe utgangen til en tekstfil du kan vise senere. For å gjøre det, bruker du & gt; & gt;operatør etter hver kommando for å legge til sin utgang til tekstfilen. Som vi skal lese utdata fra tekstfilen, kan vi altså slippe opp PAUSE-kommandoen.
: : Denne batchfilen kontrollerer problemer med nettverksforbindelse: : og lagrer utdataene til en. txt-fil. ECHO OFF: : Vis nettverkstilkoblingsdetaljer ipconfig / all & gt; & gt;results.txt: : Sjekk om Google.com er tilgjengelig ping google.com & gt; & gt;results.txt: : Kjør en traceroute for å sjekke ruten til Google.com-tracert google.com & gt; & gt;results.txtEtter at du har kjørt det ovennevnte skriptet, vil du finne en fil med navnet results.txt i samme mappe som batchfilen med utdataene fra kommandoene. Kommandoprompt-vinduet lukkes automatisk når batchfilen er ferdig.
Eksemplet vi bruker ovenfor er avhengig av å skrive ut informasjon til kommandoprompt, slik at brukeren kan lese den. Imidlertid er mange batchfiler designet for å bli kjørt ikke-interaktivt. For eksempel kan du ha en batchfil som sletter flere filer eller kataloger når du dobbeltklikker på den. Du trenger bare å bruke del-kommandoen for å slette filer eller deltree-kommandoen for å slette kataloger. Husk at du bare bruker de samme kommandoene du vil kjøre i et kommandoprompt-vindu.
Grunnleggende, det er poenget med de fleste batchfiler - bare kjører noen kommandoer en etter en. Batchfiler kan imidlertid faktisk være betydelig mer komplisert enn dette. For eksempel kan du bruke "IF" setninger sammen med kommandoen "GOTO" for å sjekke verdien av noe og deretter hoppe til forskjellige linjer avhengig av resultatet. Dette er mer som å skrive et faktisk lite program enn et raskt og skittent skript. Det er en grunn til at. bat-filer noen ganger kalles "batchprogrammer." Hvis du vil gjøre noe mer komplekst, finner du mange guider for å gjøre bestemte ting med batchprogrammering på nettet. Men nå vet du det grunnleggende om hvordan du kaster en enkel sammen.