IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 3 - Proměnné a matematické operace v Batchi

Z minulého tutoriálu umíme kromě změny barviček vypisovat text. No jo, ale to nám skoro k ničemu není. Co by to bylo za program, pokud by pořád jen něco vykládal? V tomto tutoriálu se naučíme vytvářet proměnné.

Proměnné

Pojďme se shodnout na tom, co je to proměnná (programátoři mi teď jistě odpustí zbytečné vysvětlování). Určitě znáte z matematiky proměnnou (např. x), do které jsme si mohli uložit nějakou hodnotu, nejčastěji číslo. Proměnná je v informatice naprosto to samé - je to místo v paměti počítače, kam si můžeme uložit nějaká data (jméno uživatele, aktuální čas nebo poloměr kruhu pro výpočet jeho obsahu). Toto místo má podle typu proměnné také vyhrazenou určitou velikost, kterou proměnná nesmí přesáhnout.

Proměnná má vždy nějaký datový typ, může to být číslo, znak, text a podobně, záleží na tom, k čemu ji chceme používat. Většinou musíme před prací s proměnnou tuto proměnnou nejdříve tzv. deklarovat, čili říci jazyku jak se bude jmenovat. Jazyk ji v paměti založí a teprve potom s ní můžeme pracovat.

Program vypisující proměnnou

Založte si nový program, který se bude jmenovat vypis.bat. Vložíme do něj základní strukturu a titulek nastavíme na „Vypis promenne“.

@echo off
title Vypis promenne

pause

Kód budeme nyní psát do mezery mezi title a pause. Proměnnou můžeme vytvořit pomocí příkazu set. Přidejme následující kód.

set web=ITnetwork.cz
set autor=193

Dobrá, proměnnou bychom měli vytvořenou. Pokud program spustíme, na první pohled se nic nebude dít. Chtělo by to něco, kde proměnnou vypíšeme. Proměnnou lze vypsat pomocí, nám již známého, příkazu echo - jen před a za název proměnné přidáme znak procenta. Pod řádek s nastavením proměnné vložte tento řádek.

echo Zdroj informaci %web%, autor clanku %web%/portfolio/%autor%

Pokud nyní program spustíte, vypíše nám odkaz na web Itnetwork a odkaz na mé portfolio.

Výpis proměnné v Batch - Příkazový řádek a dávkové soubory

Ale pro uživatele to pořád není nic zajímavého, pořád vidí pouze výstup. Pojďme si vytvořit nový program, který bude zpracovávat vstup od uživatele.

Program Papoušek

Napíšeme program papoušek, který bude dvakrát opakovat to, co uživatel napsal. Založte si soubor s názvem papousek.bat a vložte do něj základní strukturu. Načíst vstup od uživatele můžeme pomocí opět pomocí příkazu set. Tentokrát k němu ale přidáme přepínač /p. Za rovnítko můžeme vložit nějaký text, který se zobrazí u vstupu. Není to ale povinné.

Nejprve se uživateli, jako každý slušný papoušek, představíme a poté požádáme, aby něco napsal.

echo Ahoj, jsem virtualni papousek Lora, rad opakuji!
set /p opakuj=Napis mi neco:
echo.

Dobrá, nyní máme v proměnné načtenou hodnotu od uživatele. Jelikož vytváříme program, který má opakovat, musíme také napsat nějaký výstup.

echo %opakuj%, %opakuj%!

Na konec ještě vložíme příkaz pause se skrytým textem, aby si uživatel mohl prohlédnout výstup. Program uložíme a spustíme.

Papoušek v Batchi - Příkazový řádek a dávkové soubory

Program Zdvojnásobovač

Vytvoříme program, který si od uživatele vytáhne číslo a vypíše mu jeho dvojnásobek. Počítání v Batchi probíhá opět pomocí příkazu set, ale tentokrát s přepínačem /A. Založíme si nový soubor, který pojmenujeme dvojnasobek.bat a vložíme do něj základní strukturu. Poté si načteme číslo do proměnné %cislo% a v proměnné %vysledek% jej zdvojnásobíme. Nakonec uživateli vypíšeme výsledek.

set /p cislo=Zadej cislo:
set /a vysledek=%cislo%*2
echo Dvojnasobek je %vysledek%

Program si uložte a zkuste jej spustit. Program je také „blbuvzdorný“. Zkuste si do vstupu napsat nějaké slovo nebo písmeno – program vypíše nulu :-).

Zdvojnásobovač v Batchi - Příkazový řádek a dávkové soubory

Jednoduchá kalkulačka

Takže počítat již umíme. Co kdybychom si vytvořili jednoduchou kalkulačku v Batchi? Bude opravdu velmi jednoduchá. Na vstupu dostaneme dvě čísla, program poté vypíše výsledky jejich součtu, rozdílu, součinu a podílu. Založte si nový soubor s názvem kalkulacka.bat, do kterého vložíte základní strukturu.

Nejprve uživateli představíme aplikaci, poté si vyžádáme obě čísla.

echo Vitej v kalkulacce. Kdyz mi zadas 2 cisla, spocitam ti spoustu věci!
set /p prvni=Zadej prvni cislo:
set /p druhe=Zadej druhe cislo:
echo.
echo Dekuji za zadani cisel. :-)

Dále si vytvoříme proměnné, do kterých budeme ukládat výsledky jednotlivých operací.

set /a soucet=%prvni%+%druhe%
set /a rozdil=%prvni%-%druhe%
set /a soucin=%prvni%*%druhe%
set /a podil =%prvni%/%druhe%

Výborně, nyní máme výsledky operací uložené v proměnných. Nesmíme zapomenout na tu nejdůležitější věc – vypsat je uživateli.

echo.
echo %prvni%+%druhe% je %soucet%
echo %prvni%-%druhe% je %rozdil%
echo %prvni%*%druhe% je %soucin%
echo %prvni%/%druhe% je %podil%

Systémové proměnné

Systém nám již připravil nějaké proměnné. Většinou obsahují informace o počítači, systému a aktuálním uživateli. Jejich seznam můžeme najít, když do příkazového řádku zadáme příkaz „set“. Mezi nejzajímavější proměnné patří například:

Popis Proměnná Příklad výstupu
Aktuální datum %date% út 17. 02. 2015
Aktuální čas %time% 14:28:12,53
Uživatelské jméno aktuálního uživatele %username% Daniel
Jméno počítače %computername% MujPc
Náhodné číslo od 0 do 32 767 %random% 7030
Složka Windows %windir% C:\WINDOWS
Složka uživatele %userprofile% C:\Users\Daniel
AppData %appdata% C:\Users\Dani­el\AppData\Ro­aming
Program Files %programfiles% C:\Program Files
Domovský oddíl %homedrive% C:
Architektura procesoru %processor_ar­chitecture% AMD64

Jak jsem již zmínil, tyto proměnné nám připravuje systém. Jelikož je příkazový řádek propojený s operačním systémem, je možné změnit výchozí hodnoty těchto proměnných, případně si přidat vlastní globální proměnné. Zkuste si otevřít Ovládací Panely > Systém > (levé menu) Upřesnit nastavení systému > (záložka) Upřesnit > (tlačítko dole) Proměnné prostředí. Zde lze proměnné upravit, vymazat, případně si vytvořit vlastní.

Proměnné prostředí v Batch - Příkazový řádek a dávkové soubory

V následujícím cvičení, Řešené úlohy k 3. lekci Batche, si procvičíme nabyté zkušenosti z předchozích lekcí.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 409x (999 B)
Aplikace je včetně zdrojových kódů v jazyce Batch

 

Předchozí článek
Editor a první program v Batchi + cvičení
Všechny články v sekci
Příkazový řádek a dávkové soubory
Přeskočit článek
(nedoporučujeme)
Řešené úlohy k 3. lekci Batche
Článek pro vás napsal Neaktivní uživatel
Avatar
Uživatelské hodnocení:
153 hlasů
Tento uživatelský účet již není aktivní na základě žádosti jeho majitele.
Aktivity