Lekce 1 - Obecně o Batchi

Ostatní jazyky Příkazový řádek a dávkové soubory Obecně o Batchi

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Batch je skriptovací jazyk vyvinutý pro operační systémy od Microsoftu – MS-DOS a Windows. Pro běh využívá příkazový řádek. Programům zapsaným v tomto jazyce se říká dávkové soubory, protože obsahují více příkazů, které jsou spuštěny v příkazovém řádku. Jedná se o obyčejné textové soubory s příponou .bat, které lze spustit na každých Windows, aniž by člověk musel cokoli instalovat. Proto je experimentování s těmito soubory oblíbené zejména u začínajících a mladších ajťáků. Proto je k „ladění“ těchto programů, případně pro zkoušení příkazů, možné využít přímo příkazový řádek. Příkazový řádek spolu s tímto jazykem je pomalu nahrazován PowerShellem.

Příkazový řádek

Neboli command line, je rozhraní (CLI - command line interface), ve kterém uživatel komunikuje s počítačem pomocí zadávání příkazů nebo textových údajů. Toto rozhraní využíval operační systém MS-DOS do té doby, než vyšly první grafické nadstavby. V operačních systémech Windows lze toto rozhraní vyvolat pomocí stisku klávesové zkratky Windows + R a následně zadat příkaz „cmd“.

Spuštění příkazového řádku ve Windows

Příkazový řádek je ve výchozím nastavení černé okno s šedým písmem a blikajícím kurzorem (prompt). Po kliknutí na ikonku v záhlaví okna lze vyvolat okno „Vlastnosti“, pomocí kterého lze do určité míry změnit vzhled příkazového řádku.

V operačním systému Windows 8.1 je na výběr z 3 písem. Já používám písmo „Lucida Console“ velikosti 12. Dále lze nastavit výchozí velikost okna a jeho umístění. Ve výchozím nastavení je okno otevřeno na pozici automaticky zvolené systémem. Samozřejmě nesmíme zapomenout na možnost zvolit barvu písma a barvu pozadí.

Nastavení barev příkazové řádky ve Windows

But we are hackers and hackers have black terminals with green font colors! [John Nunemaker]

Pokud jste již v příkazovém řádku něco zkoušeli, nejspíše víte, že tu nefungují standardní klávesové zkratky jako je CTRL+C nebo CTRL+V. Ty zde mají vyšší účel. Kopírování nebo vkládání lze provádět pomocí kliknutí pravým tlačítkem myši. Můžete zde nalézt možnost „Označit“. Po zvolení lze levým tlačítkem myši označit libovolný text, který se zkopíruje po stisknutí klávesy Enter nebo pravého tlačítka myši. Vkládání lze provést stiskem pravého tlačítka a výběrem možnosti Vložit.

Kopírování a vkládání textu v příkazovém řádku Windows

Klávesové zkratky

Jak jsem již zmínil u kopírování a vkládání textu, v příkazovém řádku lze využívat i klávesové zkratky.

Pozastavení výpisu

Čas od času se může stát, že spustíte nějaký příkaz, který má (hodně) dlouhý výstup. Příkladem takového příkazu je například vypsání stromové struktury složky C:\Windows. Pokud budete chtít pozastavit výpis a například si přečíst jaké složky tam jsou, stačí stisknout klávesu Pause. Vypisování obsahu se pozastaví, obnovit lze stiskem libovolné klávesy.

Ukončení programu

Můžeme použít předchozí příklad. Může se také stát, že takový příkaz spustíte omylem. V tomto případě vás ale výpis vůbec nezajímá a nejradši byste program ukončili. K tomu slouží klávesová zkratka CTRL+C.

Doplnění názvu

Příkazový řádek umožňuje automaticky doplnit název složky podle zadání, a to klávesou TAB. Pokud se například nacházíte ve složce „C:\“, stačí zadat „Wi“, stisknout TAB a slovo bude automaticky doplněno na „Windows“.

Listování příkazy

Pomocí šipek Nahoru a Dolů lze listovat mezi dříve zadanými příkazy. Pro přehlednější výpis slouží klávesa F7. Po stisknutí této klávesy se zobrazí seznam dříve zadaných příkazů. Příkaz lze vybírat šipkami a následně zvolit klávesou Enter.

Výběr z listu příkazů v příkazovém řádku

Minulý příkaz lze také vyvolat písmenko po písmenku – a to pomocí klávesy F1. Seznam dříve zadaných příkazu je možné vymazat pomocí ALT+F7. V případě, že jste spouštěli hodně příkazů a chcete spustit například 1. příkaz, je možné spustit příkaz číslo # - a to po stisku klávesy F9.

Listování příkazy v příkazovém řádku Windows

Konec řádku

Čas od času se hodí konec řádku. Ten lze zadat pomocí klávesové zkratky CTRL+Z.

Kódování

Příkazový řádek má občas problém s kódováním, a to hlavně se znaky „ěščřžý“. Znaky jako jsou „áíé“ fungují bez problému. V dávkových souborech ale nefungují ani znaky „áíé“. Řešení je velmi jednoduché – stačí soubor uložit v kódování OEM-852 a budou fungovat. V dalším díle si ukážeme jak na to.

Kódování a české znaky v Batch

 

 

Článek pro vás napsal Daniel Vítek
Avatar
Jak se ti líbí článek?
24 hlasů
Primárně PHP programátor, rád si hraje s Arduinem a píše články do sekce Batch.
Aktivity (1)

 

 

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

Avatar
Martin5001
Člen
Avatar
Martin5001:16.4.2015 11:34

To už vím, ale chtěl bych zkusit udělat jednoduchou hru a místo šipek chci použít a,s,d,w a nechci pokaždé mačkat enter.

 
Odpovědět  -1 16.4.2015 11:34
Avatar
Martin5001
Člen
Avatar
Martin5001:13.7.2015 10:57

To nejsou škodlivé programy (To by znamenalo viry atd.). Jsou to nechtěné/nevy­žádané programy, ale systém či jeho činnost nijak neovlivňují.

 
Odpovědět 13.7.2015 10:57
Avatar
Msprg
Člen
Avatar
Odpovídá na Martin5001
Msprg:24.7.2015 10:58

za prvé činnosť systému ovplyvňujú.
za druhé:

@echo off
:menu
cls
echo.
echo       A - Text for item A
echo       B - Text for item B
echo       C - End
echo.
choice /c:ABC > nul
if errorlevel 3 goto end
if errorlevel 2 goto B
if errorlevel 1 goto A
echo Error... choice not installed
goto end
:A
echo Commands for item A
pause
goto menu
:B
echo Commands for item B
pause
goto menu
:end
exit

Poďakuj sa Danielovi vítkovi.

 
Odpovědět 24.7.2015 10:58
Avatar
Jakub Lepík
Člen
Avatar
Jakub Lepík:1.12.2015 14:35

Ahoj, chtěl bych se zeptat... V čem je chyba? Když program uložím s kódováním OEM-852, neukazuje mi háčky atd... Používám Win10. Díky.

Editováno 1.12.2015 14:36
 
Odpovědět  -1 1.12.2015 14:35
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na Jakub Lepík
Lukas C#:1.12.2015 17:29

Není to chyba, jen prostě program, ve ketrém ten .bat otevřeš (tady tedy příkazový řádek) musí mít nastavené stejné kódování - takže před nějakým výpisem přidáš command "chcp 852" (change code page), a mělo by to jít.

 
Odpovědět 1.12.2015 17:29
Avatar
Jakub Lepík
Člen
Avatar
 
Odpovědět 1.12.2015 21:32
Avatar
Placka03
Člen
Avatar
Placka03:21. února 15:59

Ahoj,
nevíte někdo, jak se v Batci dají dělat komentáře?

 
Odpovědět 21. února 15:59
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Placka03
Jindřich Máca:21. února 16:06

Ahoj, pomocí příkazu rem. Viz. https://docs.microsoft.com/…commands/rem ;)

Např.:

rem Toto je komentář.
Editováno 21. února 16:06
 
Odpovědět  +1 21. února 16:06
Avatar
Placka03
Člen
Avatar
 
Odpovědět 21. února 16:10
Avatar
Boris Chytil
Člen
Avatar
Boris Chytil:22. března 12:01

Zdravím
Jmenuji se Boris Chytil a nedávno jsem se přihlásil na váš web.
Potřebuji pomoci s češtinou v bat souborech. Ať zkouším co zkouším, pořád mám smůlu s písmeny "š č ř ž ý" .
Používám PSPad, kde nastavuji kódovou stránku 852 a písmo na středoevropské.
S bat soubory jsem kdysi pracoval před mnoha a mnoha lety v době kdy vládl DOS. Je mi totiž téměř 72 let a celý život jsem se pohyboval ve výpočetní technice.
Pokud mi můžete poradit budu rád.
Děkuji a přejí pěkný den
ChB

 
Odpovědět 22. března 12:01
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 18. Zobrazit vše