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 Hello World PAUSE
For eksempel vil du kanskje nevne den
hello_world.bat
Hvis du ikke legger til
PAUSE
til filen, ville batchfilen ganske enkelt kjøre kommandoene og deretter lukke automatisk. I dette tilfellet ville det skrive ut "Hello World" til vinduet, og deretter lukke vinduet Kommandoprompt umiddelbart. Når du vil raskt kjøre kommandoer uten å se utdataene, kan du utelate dette. Hvis du kjører flere kommandoer, kan du plassere
PAUSE
kommando i mellom dem.
Skrive en mer kompleks batchfil
Det er grunnleggende enkelt å lage en batchfil. Det eneste du trenger å endre er hva du skriver inn i Notisblokk. For å 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 som kjører flere nettverksdiagnostiske kommandoer. Vi vil kanskje løpe
ipconfig /all
for å vise nettverksinformasjon,
ping google.com
for å se om Googles tjenere svarer, og
tracert google.com
å 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 disse kommandoene i en batchfil, den ene etter den andre, slik:
ipconfig /all ping google.com tracert google.com PAUSE
Når vi kjører denne filen, ser vi bare utgangen av hver kommando rett etter den andre. Men dette er ikke nødvendigvis den ideelle måten å skrive en batchfil på.
::
er en kommentar linje 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 som:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
operatør etter hver kommando for å legge til sin utgang til tekstfilen. Som vi kommer til å lese utgangen fra tekstfilen, kan vi altså slippe ut
PAUSE
kommando.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
Etter at du har kjørt det ovennevnte skriptet, vil du finne en fil som heter results.txt i samme mappe som batchfilen med utdataene fra kommandoene. Kommandoprompt-vinduet lukkes automatisk når batchfilen er ferdig.
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.
I utgangspunktet er det poenget med de fleste batchfiler, bare kjører noen kommandoer etter hverandre. 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.