2. díl - Editor a první program v Batchi + cvičení

Ostatní jazyky Příkazový řádek a dávkové soubory Editor a první program v Batchi + cvičení

Po přečtení minulého článku je jasné, že dávkové soubory jsou obyčejné textové soubory. Tomu také odpovídá výběr editoru. Nepotřebujeme žádné IDE nebo něco podobného. Na vytváření dávkových souborů úplně stačí standardní Poznámkový blok. Jenže při psaní delších souborů kód ztrácí na přehlednosti a to je špatné. Mohu doporučit program Notepad++, který umí zvýrazňovat syntaxi a podporuje mnoho různých jazyků.

Notepad++

Notepad++ si můžete zdarma stáhnout na adrese http://notepad-plus-plus.org. K dispozici je klasická instalace i portable verze, takže si program můžete nahrát na flashku a nosit jej všude s sebou.

Zálohování a verzování

Kromě editoru je dobré mít nějaký nástroj, který bude zálohovat a verzovat naši práci. Nemůžeme se spolehnout na to, že kód prostě budeme ukládat, protože jsme lidé a ne stroje. Lidé dělají chyby a když přijdete o několikadenní nebo dokonce několikatýdenní práci, může to zabolet. Je dobré naučit se na toto myslet hned od začátku. Velmi doporučuji program DropBox, který je extrémně jednoduchý a sám vaše soubory verzu­je (tedy zachovává změny v čase a je možné se vrátit ke starším verzím projektu) a zároveň synchro­nizuje s webovým úložištěm, i kdyby jste si prográmek omylem smazali, přepsali, ukradli vám notebook nebo vám zkolaboval pevný disk, vaše data zůstanou v bezpečí. DropBox také umožňuje sdílet jeden projekt mezi více vývojáři. Více o DropBoxu viz tento článek, který obsahuje zároveň pozvánku do DropBoxu s 0,5 GB prostoru navíc.

První program

Ještě než začneme, opravdu velmi doporučuji si v Průzkumníkovi zapnout možnost zobrazování přípon souborů. Předejdete tím případným problémům a zdržování.

Zobrazování přípon souborů ve Windows

A můžeme se vrhnout na náš první program!

Vytvoříme si někde, třeba na Ploše, nový textový soubor. Pojmenujeme jej například ahoj.bat - dávkové soubory využívají přípony .bat nebo .cmd. Tento soubor otevřeme v našem editoru. Já budu používat již zmíněný Notepad++.

Po otevření souboru vidíme prostor, kam můžeme psát náš program. Co si napíšeme? Je zarytým zvykem, že prvním programem v nějakém novém jazyce bývá tzv. Hello world. Jedná se o program, který jakýmkoli způsobem uživateli zobrazí hlášku "Hello world", případně nějaký podobný text. Zkusme si to. Pro výpis textu slouží příkaz "echo", za který napíšeme text, který chceme vypsat. Do editoru si napíšeme následující kód.

echo Hello World!

Soubor uložíme a zkusíme jej spustit. Spouští se klasicky dvojklikem na soubor – není potřeba jej spouštět přes nějaký jiný program.

Ale co se to stalo? Něco tam bliklo a hned to zmizelo. Stalo se přesně to, co jsme od programu očekávali. Vypsal text "Hello World!" a ukončil se. Vsadím se ale, že nikdo si nestihl přečíst, co se v něm psalo. Zkuste na další řádek doplnit příkaz.

pause

Opět uložte a spusťte. To je lepší, že? Příkaz vypíše text "Pokračujte stiskem libovolné klávesy" a čeká. Díky tomu si můžeme přečíst co program vypisuje. Pokud chcete, aby program čekal pouze na stisk klávesy, použijeme příkaz "pause > nul". Program poté bude čekat pouze na stisk klávesy a nevypíše žádný text. Co tento příkaz vlastně znamená si vysvětlíme později.

Hello World v Batchi

Nevím jak vám, ale mně se to pořád nelíbí. Pořád mi tam vadí ta aktuální složka a příkaz, který se má provést. Také se vám to nelíbí? Pojďme to opravit. Na začátek programu, ještě před výpis Hello World, vložte tento řádek.

@echo off

Uložíme a spustíme. Hned je to lepší :-). Pro přehlednost můžeme před příkaz pause vložit příkaz "echo.", který vypíše prázdný řádek.

Hello World v Batchi

Přizpůsobení okna

V minulém díle jsme si ukázali jak nastavit výchozí hodnoty pro příkazový řádek – např: rozměry nebo barvy. Co když ale budeme chtít změnit tyto věci z dávkového souboru?

Rozměry

Pro změnu rozměrů aktuálního okna slouží příkaz.

mode con:cols=[cislo] lines=[cislo]

První číslo udává počet znaků na šířku, druhé číslo udává počet řádků. Zkusme si upravit náš program. Pod příkaz @echo off vložme.

mode con:cols=60 lines=10

V porovnání s klasickým okénkem je nějaké menší :-)

Velikost okna v Batch

Barvičky

Barva pozadí i písma se nastavuje jedním příkazem a to příkazem color. Pokud zadáte pouze příkaz color, bez čehokoliv ostatního, obnoví se výchozí barva. Barva se nastavuje:

color [barva pozadí][barva písma]

Seznam barev je zde:

0 Černá
1 Modrá
2 Zelená
3 Šedomodrá
4 Červená
5 Fialová
6 Tmavě žlutá
7 "Špinavá" bílá
8 Šedá
9 Světle modrá
A Světle zelená
B Tyrkysová
C Světle červená
D Světle fialová
E Světle žlutá
F Zářivá bílá

Zkusme si opět upravit náš program. Pod řádek s mode vložíme následující kód.

color 1F

A máme tu modré okno s bílým textem, které trošku připomíná BSOD :-).

Změna barvy pozadí a textu v Batchi

Nadpis okna

Jak jste si jistě všimli, okno má nadpis "C:\Windows\Sys­tem32\cmd.exe". V nadpisu okna je cesta ke spuštěnému programu. Jak jsem již zmínil v prvním článku, dávkové soubory používají pro svůj běh příkazový řádek. Proto je v nadpisu okna cesta k příkazovému řádku. Nadpis okna můžete změnit pomocí příkazu "title". Vložte pod příkaz s "mode" následující.

title Ahoj svete!

Když nyní spustíme náš program, bude vypadat nějak takto.

Změna titulku okna v Batchi

Úkol pro vás

Zkuste si vytvořit prográmek, který:

  • Nastaví titulek okna na "Ahoj svete"
  • Nastaví písmo na modrou a pozadí na šedou
  • Vypíše text "Mame tu modre pismo a sede pozadi"
  • Počká na stisk klávesy
  • Po stisku klávesy nastaví písmo na světle zelené, pozadí na černé a vypíše prázdný řádek, citát z minulého článku a opět prázdný řádek
  • Po stisku klávesy se program ukončí

Náš program z této lekce a řešení cvičení můžete najít v souboru pod článkem. Ve vlastním zájmu se jej pokuste vyřešit sami. Pokud se na něj podíváte bez vyřešení příkladu, ztrácí pro vás cvičení smysl a nic se nenaučíte. Pokud si opravdu nebudete vědět rady, zkuste se znovu podívat do článku, jak na to. Řešení je opravdu jednoduché :-)


 

Stáhnout

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

 

  Aktivity (1)

Článek pro vás napsal Daniel Vítek
Avatar
Primárně PHP programátor, rád si hraje s Arduinem a píše články do sekce Batch.

Jak se ti líbí článek?
Celkem (15 hlasů) :
4.866674.866674.866674.866674.86667


 


Miniatura
Předchozí článek
Obecně o Batchi
Miniatura
Všechny články v sekci
Příkazový řádek a dávkové soubory

 

 

Komentáře
Zobrazit starší komentáře (7)

Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:

Co ti na tom nefunguje?

 
Odpovědět 11. ledna 16:44
Avatar
Odpovídá na Daniel Vítek
Oliver Tušla:

jméno okna se změní jenom poprvé na "Hello" ale na "world" už ne

 
Odpovědět 11. ledna 16:45
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Oliver Tušla
Daniel Vítek:

Jaký máš OS? Na W10 to funguje.

Editováno 11. ledna 16:49
 
Odpovědět 11. ledna 16:48
Avatar
Oliver Tušla:

Windows 7... ale můžu přehodit i na Linux

Editováno 11. ledna 16:52
 
Odpovědět 11. ledna 16:49
Avatar
Oliver Tušla:

*Windows 7

 
Odpovědět 11. ledna 16:50
Avatar
Oliver Tušla:

Tak už jsem na to přišel... stačí přidat 2. "pause" a už to funguje. BTW zkoušel jsem i u kamaráda na W7 a pak i W10. Nevím proč je to na W7 takhle buglý :/.

 
Odpovědět 11. ledna 17:38
Avatar
Tomas
Člen
Avatar
Tomas :

@echo off
echo Ahoj
pause
title Hello world
echo proc
pause
echo to
pause
echo nefunguje ? :(
pause

takto to pôjde

podla mňa by to bolo lepšie ako :

@echo off
title Hello world
echo Ahoj proc to nefunguje ? :(
pause
jednotlivé slová nemusíš dávať do riadkov...

 
Odpovědět  -1 10. dubna 14:20
Avatar
Draumer
Člen
Avatar
Draumer:

Teda, vypadá to docela jednoduše, dokonce i cvičení jsem zvládla sama bez pomoci :o Díky! :)

 
Odpovědět  +2 15. července 14:19
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovědět 15. července 14:40
Lepší být šprt než blbec :)
Avatar
Adam Kácha
Člen
Avatar
Adam Kácha:

když mam nějakej příkaz a v tam cestu k jednomu souboru tak mi to nefunguje protože v názvu tý cesty je písmeno s čarkou a ve finále to zlobí. Co s tim?

 
Odpovědět 20. srpna 11:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 17. Zobrazit vše