V minulém díle jsme se naučili vypsat text, používat proměnné a načítat parametry příkazové řádky. Dnes se podíváme na řídíci příkazy, základ programování a skriptování.
Příkaz if má několik syntaxí:
if errorlevel cislo prikaz - každý příkaz ve Windows skončí s číslem chyby (0 pokud k chybě nedošlo). Tímto můžeme na chyby reagovat
if neco1==neco2 prikaz - porovná dvě proměnné, řetězce, čísla atp.
if exist soubor prikaz - pokud soubor existuje, provede příkaz
Například porovnání promene1 a promene2 provedeme takto:
@echo off
set promena1=ahoj
set promena2=cau
if %promena1%==%promena2% echo rovnaji se
Často se nám může stát že budeme naopak potřebovat zjistit, zda jsou proměnné rozdílné:
@echo off
set promena1=ahoj
set promena2=cau
if %promena1%==%promena2% echo rovnaji se
if not %promena1%==%promena2% echo nerovnaji se
Syntaxi s not můžeme použít u všech "typů" if. Často také chceme v případě podmínky provést více příkazů:
@echo off
if not exist muj_soubor.txt echo soubor nenalezen
if exist muj_soubor.txt (
echo soubor existuje, mazu ho
del muj_soubor.txt
echo soubor smazan
)
Tento skript zjistí zda existuje muj_soubor.txt, pokud ano tak ho smaže a pokud ne tak vypíše chybu.
Dalším užitečným pomocníkem je cyklus for:
for %%promena in (hodnoty) do prikaz - provede příkaz pro všechny hodnoty v závorkách, např.:
for %%p in (2 5 6) do echo %%p
vypíše čísla 2 5 6. Daleko užitečnější je syntaxe for s přepínačem /L:
for /L %%p in (od,krok,do) do prikaz
například vypsání čísel od 1 do desíti dosáhneme takto:
@echo off
for /L %%p in (1,1,10) do echo %%p
Pro více příkazu můžeme opět použít závorky:
@echo off
for /L %%p in (0,2,20) do (
echo %%p
echo ---
)
Tento skript vypíše všechna sudá čísla menší nebo rovna 20 a oddělí je ---
For nám může posloužit také například na vypsání všech souborů typu MP3 v adresáři:
@echo off
for %%s in (*.mp3) do echo %%f
Komentáře jsou samozřejmě možné i ve skriptech, jejich syntaxe je jednoduchá:
@echo off
::Nastavíme poměnnou
set a=1;
::Prvni radek komentare
::Druhy radek komenatre
::Treti radek komentare
Pro přidání komentáře se musíš přihlásit nebo registrovat na signály.cz.