Batch File eller bara Batch är ett Windows programmeringsspråk och därför kan de hanteras med enkla editorer som Notepad eller liknande. En Batch script innehåller flera kommando organiserade i rader och sekvenser som utför ett vist arbete i Windows filsystem.
Det finns två olika körningssätt av Batch script: Interactive och Silent (Batch).
- Interaktive – När en Batch script exekveras kräver manuellt datainmatning, den kräver att användaren interagerar med scripter genom att svara till exempel frågor som ”Are you sure?”, yes or no.
- Silent/Batch – När en Batch script exekveras kommer den att utföra alla kommando utan någon användares inblandning.
Operatorer
Precis som i andra programmeringsspråk finns flera olika operatorer i Batch script
Aritmetiska operatörer
- + plus
- – minus
- * multiplikation
- / division
- % modulus (resterande)
Jämförelseoperatörer
- EQU likamed
- NEQ inte likamed
- LSS mindre än
- LEQ mindre eller likamed
- GTR större än
- GEQ större eller likamed
Tilldelningsoperatörer
- += addera
- -= subtrahera
- *= multiplicera
- /= dividera
- %= modulus (resterande)
Omdirigerings operatörer
- > till en fil
- < från en fil
- >> lägga till text i en ny rad
- | pipe
Logiska operatörer
- AND
- OR
- NOT
Kommando för Batch script
Det finns i princip två olika typer av kommando, interna och externa. Interna kommando är de som är redan inbyggda i Windows OS till exempel echo, cls, del, dir mm. Externa kommandon läggs till i systemet vid nya installationer av olika applikationer. Vissa av dessa kommandon kan exekveras från Run fältet och endast några av dem vid kommandoprompt.
Kommandona är sällan ensamma, oftast körs de tillsammans med underkommando, växlingar/tillägg och parametrar. Underkommando är ingenting annat än ett kommando till som är underordnad för att få något resultat exempelvis:
c:\>net users
Huvudkommando är net och underkommando är users, de ska köras tillsammans.
De flesta CLI kommando kan finjusteras med parametrar och ”switchar” eller på svenska växlingar. Det som anges efter ett kommando kallas för argument. Vad som definieras direkt på kommandoprompten kallas parametrar. Med andra ord är parameter som en parkeringsplats medan argument är som en bil. På en parkeringsplats kan parkeras olika bilar.
c:\>net user ChaloReyes P@ssw0rd /add
Huvudkommando är net, underkommando är user, ChaloReyes är användarkontot och P@ssword lösenordet, tillsammans är dem parametrar eller argument till kommando net user, /add är växling eller tillägg.
Echo
Kommandot används för att visa text på skärmen exempelvis:
c:\>echo Hello World!
Om du kör endast echo kommer kommandot att visa om echo är på eller av.
Som default echo är alltid på men oftast aktiveras det av just för att undvika text som följer efter ett kommandoutförande. Detta görs med kommando echo off och den aktiveras med echo on.
Som illustration kan vi skapa den första Batch program/script. Först skapar jag en katalog med namn BatchScripts direkt under C:\
- c:\>mkdir BatchScripts
- c:\cd BatchScripts
- c:\BatchScripts\notepad
- Skriv av raderna här nedan:
@echo off
echo Hej allihopa!
pause - Spara filen som Hej.bat i mappen c:\BatchScripts. Det som är viktig är det att ha en kort sökväg.
- Exekvera kommandot c:\BatchScripts\dir och verifiera att filen har sparats med rätt namn, dvs som Hej.bat och inte som text-fil.
- Exekvera din första Batch program/script. Du har två möjligheter, genom att dubbelklicka på batchfilen eller genom att skriva batchilens namn på CMD.
Obs: Se till att i filtyp fältet står Alla filer, annars sparas dokumentet som textfil och inte som en exekverbar fil!
Ett annat exempel:
Öppna Notepad och skriv ner följande rader:
@echo off
cd
echo ”Welcome %1
pause
Spara dokumentet som en bat fil med namn welcome.bat
Obs: Vi har kodat ett parameter som %1 så att användaren själv anger parametern vid scriptexekveringen. Formatet %nummer ersätts med något input.
Ändra arbetskatalogen ditt bat-filen har sparats. Jag har sparat filen i mappen MinaScript och därför skriver jag som följande:
c:\>BatchScripts\welcome.bat ChaloReyes
Rem
Med detta kommando kan man lägga kommentarer eller kommentera bort någon rad. Som exempel skapar vi en skrypt där vi lägger en kommentar:
@echo off
Rem Program for printing hello world
Echo Hello World
pause
Title
Kommandot ändrar CMD-fönstrets namnlista. För att ändra till ChaloReyes CMD exekvera:
c:>title ChaloReyes CMD
Prompt
Kommandot ändrar tecknet som identifierar prompten. Som default Windows använder större än tecken (>). Det finns flera kombinationskoder men de anses vara mindre viktig i denna kurs och därför visar jag endast ett exempel.
För att ändra till ChaloReyes $ : exekvera:
c:\>prompt ChaloReyes $$ :
Color
Kommandot styr bakgrundsfärg och föregrundsfärg. Genom att använda särskilda koder kan bestämmas dina favorit färg. Direkt efter kommandot COLOR ska anges två hexadecimala tal, den första gäller för bakgrundsfärg och den andra för föregrundsfärg (text).
Här nedan listas några av kodernas värde
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
black | blue | green | aqua | red | purple | yellow | white | gray | ligth blue |
A | B | C | D | E | F | ||||
ligth
green |
ligth
aqua |
ligth red |
ligth
purple |
ligth
yellow |
brigth
white |
För att ändra bakgrundsfärg (gul) och föregrundsfärg (svart) på kommandoprompten exekvera:
c:\>color 60
Start
Kommandot startar tjänster och applikationer, inklusive kan definieras prioritet och om applikationen ska köras tillsammans med alla andra av samma typ eller helt ensam.
För att starta en till CMD kan användas kommandot start. För att starta en till CMD som har ett namnlista med texten Batch Programming, exekvera:
c:\>start ”Batch Programming”
För att starta Notepad minimiserad, exekvera:
c:\>start /min notepad
För att starta MS Paint maximiserad, exekvera:
c:\>start /max mspaint
Tree
Kommandot visar filsystem i trädformat. Bra när man vill se strukturen på katalognivå till exempel katalogen c:\PSlabs innehåller underkatalogen Scripts och denna katalog innehåller i sin tur två underkataloger Filer och OldFiles.
c:\>tree PSlabs
Ver
Visar Windows version – c:\>ver
Shutdown
Fungerar med minus eller slash tecken
c:\>shutdown /s /t 0
c:\>shutdown /r /t 0
Type
visar textfilers innehåll
Pause
Pausar kommandoutförande och visar meddelandet ”Press any key to continue ….”
Miljövariabler
Ordet variabel syftar på en platsreservation för senare användning. I reserverade platser kan lagras olika värde (numerisk eller teststräng). Variabels värde anges antingen av OS eller användare. En variabel är som en flyttkartong där stoppas in diverse saker (värde).
Det finns fler miljövariabler som är konfigurerade med ett visst syfte, till exempel variabeln computername som innehåller datorns namn. Här nedan tas fram min datorns namn med hjälp av kommandot echo och variabeln computername:
För att få datornamn exekvera:
c:\>echo %computername%
För att få den aktuella datum exekvera:
c:\>echo %date%
För att flytta exekveringsläge till c:Windows, exekvera:
c:\>cd %systemroot%