Co se přihodilo :-)

Skriptujeme ve Windows II

13. 3. 2008 10:43
Rubrika: Ze světa IT

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í.

IF

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.

FOR

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

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

 

 

 

Zobrazeno 2160×

Komentáře

Napsat komentář »

Pro přidání komentáře se musíš přihlásit nebo registrovat na signály.cz.

Autor blogu Grafická šablona Nuvio