Kommandon i Batch-skript

Batch-scriptning innebär huvudsakligen att använda två typer av kommandon: interna och externa. Interna kommandon är inbyggda i Windows-operativsystemet, exempelvis echo, cls, del, dir och flera andra. Externa kommandon kommer däremot från installationer av olika applikationer och verktyg. Vissa av dessa kommandon kan köras direkt från Run-fältet, medan andra fungerar endast i kommandotolken (CLI).

Kommandon, underkommandon, parametrar och växlingar

Batch-kommandon kan användas tillsammans med underkommandon, växlingar och parametrar. Underkommandon fungerar som underordnade kommandon som krävs för att uppnå specifika resultat.

Exempel:

C:\>net users

I detta fall är huvudkommandot net och underkommandot är users, vilket visar användarinformation.

De flesta CLI-kommandon kan modifieras med parametrar och switchar (växlingar). Det som skrivs efter ett kommando kallas för argument. Du kan jämföra en parameter med en parkeringsplats och ett argument med en bil. På en parkeringsplats kan olika bilar parkeras, precis som kommandon kan ta olika argument.

Exempel:

c:\>net user ChaloReyes P@ssw0rd /add

Här är huvudkommandot net, underkommandot user, med ChaloReyes som användarnamn och P@ssw0rd som lösenord. Tillägget /add är en växling för att lägga till en användare.

Echo-kommandot

echo används för att visa text på skärmen. Om du bara skriver echo i kommandotolken visas om echo är aktiverat (på) eller inaktiverat (av). Standardinställningen är att echo är på, men du kan stänga av det för att undvika utskrifter av kommandon med echo off, och aktivera det igen med echo on.
Exempel på ett första Batch-script:

@echo off
echo Hej allihopa!
pause

Skapa en katalog under C:\ med namnet BatchScripts:

c:\>mkdir BatchScripts

Byt till katalogen:

c:\>cd BatchScripts

Öppna Notepad genom att köra:

c:\BatchScripts\notepad

Skriv följande rader i Notepad:

@echo off
echo.
echo Hej allihopa!
pause

Spara filen som Hej.bat i mappen C:\BatchScripts. Var noga med att välja ”Alla filer” som filtyp så att den inte sparas som en vanlig textfil.
Kontrollera att filen sparats korrekt genom att köra:

c:\BatchScripts\dir

För att exekvera batch-filen kan du antingen dubbelklicka på den eller skriva filens namn i kommandotolken (CMD).

Skapa batch-program (script)

För att skapa ett script som tar en parameter (%1) vid körning:

Öppna Notepad och skriv:

@echo off
echo Welcome %1
pause

Spara filen som welcome.bat. När du kör scriptet, ange en parameter (ditt namn). Om scriptet är sparat i mappen BatchScripts, kör:

c:\BatchScripts\welcome.bat ChaloReyes

Kommentarer i Batch-script

För att lägga till kommentarer i ett batch-script kan du använda kommandot rem. Kommentarer används för att förklara vad koden gör, vilket gör den enklare att förstå.

Exempel:

@echo off
rem Program for printing hello world
echo Hello World
pause

Övriga användbara kommandon

Några andra CLI-kommandon som ofta används i batch-script inkluderar:

title – Ändrar titeln i CMD-fönstret:

c:\>title ChaloReyes CMD

prompt – Ändrar prompttecknet:

c:\>prompt ChaloReyes $$

start – Startar applikationer:

c:\>start /min notepad
c:\>start /max mspaint

tree – Visar filsystemet i trädformat:

c:\>tree PSlabs

ver – Visar Windows-versionen:

c:\>ver

shutdown – Stänger av eller startar om datorn:

c:\>shutdown /s /t 0
c:\>shutdown /r /t 0

type – Visar innehållet i en textfil.

pause – Pausar kommandoutförandet och väntar på att användaren trycker på en tangent.

color – Ändrar färg på text och bakgrund i CMD. Använd två hexadecimala siffror, en för bakgrund och en för text:

c:\>color 1F

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
ligthgreen ligthaqua

ligth

red

ligthpurple ligthyellow brigthwhite

För att ändra bakgrundsfärg (gul) och textfärg (svart) på kommandoprompten exekvera:
c:\>color 60

Miljövariabler

En variabel är en plats i minnet där information lagras för att användas senare. I kommandoprompten finns ett antal förkonfigurerade miljövariabler som innehåller information om systemet och miljön. Ett exempel på detta är variabeln %computername%, som innehåller datorns namn. Nedan är några vanliga miljövariabler och exempel på hur du kan använda dem:

För att visa datorns namn kan du använda:

c:\>echo %computername%

För att visa det aktuella datumet kan du använda:

c:\>echo %date%

För att snabbt byta till Windows-systemmappen (C:\Windows), kan du exekvera:

c:\>cd %systemroot%

Vanliga miljövariabler

%username%
Innehåller det aktuella användarkontots namn.

echo %username%

%userprofile%
Pekar på den aktuella användarens hemkatalog (t.ex., C:\Users\Användarnamn).

cd %userprofile%

%temp% eller %tmp%
Innehåller sökvägen till temporära filer för det aktuella användarkontot.

cd %temp%

%path%
Innehåller en lista över kataloger som används för att söka efter exekverbara filer.

echo %path%

%programfiles%
Pekar på mappen där standardprogram installeras (vanligtvis C:\Program Files).

cd %programfiles%

%programdata%
Innehåller sökvägen till gemensamma programdatafiler (t.ex., C:\ProgramData).

cd %programdata%

%allusersprofile%
Pekar på katalogen med profilinformation som delas mellan alla användare (C:\ProgramData).

cd %allusersprofile%

%homedrive%
Anger den enhet där användarens hemkatalog är lagrad (vanligtvis C:).

echo %homedrive%

%homepath%
Innehåller sökvägen till användarens hemkatalog, utan enhetsbokstav.

echo %homepath%

%logonserver%
Innehåller namnet på den domänkontrollant som användaren är inloggad på (gäller i nätverksmiljöer).

echo %logonserver%

%time%
Innehåller den aktuella tiden.

echo %time%

%windir%
Innehåller sökvägen till Windows-katalogen (vanligtvis samma som %systemroot%).

cd %windir%

%appdata%
Innehåller sökvägen till mappen för applikationsdata för den aktuella användaren (C:\Users\Användarnamn\AppData\Roaming).

cd %appdata%

%localappdata%
Innehåller sökvägen till den lokala applikationsdatamappen för den aktuella användaren (C:\Users\Användarnamn\AppData\Local).

cd %localappdata%

Exempel på användning:

För att använda miljövariabler i ett batch-script kan du helt enkelt inkludera dem som en del av kommandona. Till exempel:

@echo off
echo Hej %username%, din dator heter %computername%.
echo Du är inloggad på servern %logonserver%.
pause

Detta skript skriver ut användarnamn, datornamn och domänserver i kommandoprompten. Miljövariabler är ett kraftfullt verktyg för att hämta systeminformation och göra skript mer flexibla.