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.