Batch script grunder

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:\

  1. c:\>mkdir BatchScripts
  2. c:\cd BatchScripts
  3. c:\BatchScripts\notepad
  4. Skriv av raderna här nedan:
    @echo off
    echo Hej allihopa!
    pause
  5. Spara filen som Hej.bat i mappen c:\BatchScripts. Det som är viktig är det att ha en kort sökväg.
  6. Exekvera kommandot c:\BatchScripts\dir och verifiera att filen har sparats med rätt namn, dvs som Hej.bat och inte som text-fil.
  7. 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%