CMD V
SKRIPTY normálne postupuju odzhora dole . Chematicky sa to dá znazorniť takto
PRÍKAZ A --> PRÍKAZ B --> PRÍKAZ C
Dnes sa naučime vetviť skripty , použivať podmienky a mnohonasobné vetvenie
IF ... ELSE
Príkaz IF je jediný prikaz určeny na vetvenie v CMD jeho syntax je :
IF %premenna% == Hodnota (prikazy) else (prikazy)
Ukažme si to radšej na priklade
- @echo off
- set /p heslo=zadajte svoje heslo:
- if %heslo% == 1234 (echo Správne heslo)
- pause
Program sa uživatela spýta na heslo a ak je zadane heslo 1234 , vypíše text "Správne heslo"
CMD nemá len znak == (rovnosť) ale podporuje aj iné (napr, nerovná sa , menšie atď.)
Bohužial su titeo operacie označene slovom.Tu je zoznam skratiek použivane ako matematické operacie
EQU - rovná sa (môžete použiť aj "==")
NEQ - nerovná sa
LSS - menšie ako
LEQ - menšie ako alebo rovné
GTR - vačšie ako
GEQ - vačšie ako alebo rovné
Ako ich použiť ?
- @echo off
- set /p a =Zadajte 1. cislo:
- set/p b =Zadajte 2. cislo:
- if %a% LSS %b% (echo a<b)
- if %a% GTR %b% (echo a>b)
- if %a% EQU %b% (echo a=b)
- pause
Skrip si vypýta čislo a a b a vypíše vám , čí je a viav/menej ako b , popr. či su rovnaké
ELSE
Else je nepoviná časť príkazu . Príkazy , ktore su zapisané za else , sa vykonaju ako alternatíva.
Nechápete ? Tu máte znova príklad z heslom . Takto by ste urobili program , aby vypisoval ja hlášku zle heslo::
- @echo off
- set /p heslo =Zadajte heslo:
- if %heslo% == 1234 (echo správne heslo)
- if %heslo% NEQ 1234 (echo zlé heslo)
- pause
Táto podoba je celkom neefektívna a nepoužitelná . Ale ked pridáme prikaz else
- @echo off
- set /p heslo =Zadajte heslo:
- if %heslo% == 1234 (echo Správne heslo) else (echo zlé heslo)
- pause
Skript sa skrátil o jeden riadok + nemusíťe používať skratky pre operacie (NEQ , LSS)
Podmienky if .. else môžete davať mnohonásobne
- if podmienka1 (if podmienka2 (vysledok1) else (vysledok2)) else (vysledok3)
LOGICKE OPERÁCIE
CMD bohužial neobsahuje logicke operacie (AND , OR , NOT)
CMD VI - cykly + prikaz goto a for