Procvič si angličtinu zdarma s naším americkým e-learningem! Learn more
Pouze tento týden sleva až 80 % na celý Java e-learning!

Diakritika a pokročilé funkce v batchi

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

V tutoriálu vám ukážu jak docílit toho, aby se vám v Batchi zobrazovala diakritika (ěščřžýáíé atd...), takže vaše .bat soubory budou hezčí :)

Začneme tím, že otevřeme nabídku start a vybereme spustit. Napíšeme wordpad a klikneme na ok.

Spustí se nám textový editor trochu podobný notepadu, do kterého můžeme začít psát příkazy. Jako test napíšeme tento jednoduchý příkaz, aby nám příkazový řádek vypsal tyto znaky ěščřžýáíé

@echo off
echo ě š č ř ž ý á í é
pause
msg * ě š č ř ž ý á í é

A teď pozor jak tento dávkový soubor uložíme. Takže klikneme na soubor a uložit jako. Zvolíme si kam chceme, aby se náš dávkový soubor uložil a jako název napíšeme test diakritiky.bat. Ale to nejdůležitější je, že musíte do kolonky uložit jako typ zvolit formát MS-DOS

A poté můžeme dávkový soubor uložit na zvolené místo. Teď ho můžeme jít otestovat, otevřeme si složku kam jsme ho uložili a spustíme ho.

A už nám funguje diakritika :-) Ale některé speciální znaky nám nepůjdou, jako například tyto známé alt kódy

☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼

Pokročilé funkce

Jako první si ukážeme jak využít ping. Ping je normálně využíván k otestování propojení s vaším počítačem a jiným nebo stránkou.

Můžete použít tyto parametry:

  • t -bude odesílat pakety až do stisknutí CTRL+C
  • l (velikost) -určuje velikost paketu v bajtech
  • i -TTL paket
  • n -délka odesílání paketů v sekundách

Nejprve si zkusíme, jestli jsme spojeni se strýčkem Googlem :) Takže to bude vypadat takto

@echo off
title zkouška spojení se strýčkem googlem
echo bude vykonán ping na adresu www.google.cz s velikostí paketu 500 bajtů
echo ukončíte ho stisknutím kláves CTRL+C a jak se vás to bude ptát jestli chcete ukončit echo dávkovou úlohu dejte ne nebo se vypne celý dávkový soubor
pause
ping www.google.cz -t -l 500
msg * hotovo :)
pause
exit

a uložíme s kódováním MS-DOS výsledek bude vypadat takto:

Tímto příkazem lze také odzkoušet spojení s IP adresou. Ale určitě vás nenapadá využití v dávkovém souboru. Tím využitím je náhrada příkazu

sleep (kolik sekund počkat)

, který nefunguje na všech operačních systémech. Uděláme to takto:

@echo off
title náhrada příkazu sleep
echo stiskněte enter a za 5 sekund se vám zobrazí zpráva
pause >nul
ping -n 5 localhost >nul
echo tato zpráva se vám zobrazila za 5 sekund
pause

Teď si to vysvětlíme, určitě jste si tam všimli, že za některých příkazech bylo >nul, to znamená, že se tam nezobrazí, že se ten příkaz vykonal. Je tam příkaz ping na localhost(aktuální počítač), který je parametrem -n vykonáván 5 sekund a parametr >nul to skryje a máme z toho náhradu příkazu sleep :)

Dalším příkazem co vám ukážu je příkaz, aby jste mohli udělat něco jako načítání v dávkovém souboru, aby to vypadalo, že je to nějaký složitý dávkový soubor a že se musí načítat :D To uděláme takto:

@echo off
title načítávání.......
stisknutím klávesy enter spustíte načítávání
pause >nul
echo načítávání
echo.
echo|set /p=prosím čekejte
for %%A in ( A B C D E F G H CH I J K L M N O P Q R S T U V W X Y Z ) do echo|set /p=.
echo načteno
pause

Zase si to vysvětlíme, jak to funguje :). Příkaz

echo|set /p=prosím čekejte

vypíše a přidá k proměnné text prosím čekejte a příkaz

for %%A in ( A B C D E F G H CH I J K L M N O P Q R S T U V W X Y Z ) do echo|set /p=.

Udělá to, že bude hledat písmeno A v abecedě a pokaždé jak prohledá jedno písmeno připíše k proměnné tečku a ukáže ji na tom samém řádku jako je text prosím čekejte :)

Tak a to by bylo vše co vám dnes ukážu :) Kdyby jste si s něčím nevěděli rady, tak napište :)


 

Stáhnout

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

 

 

Aktivity (1)

 

 

Komentáře

Avatar
venca
Neregistrovaný
Avatar
venca:21.9.2013 16:23

ahoj, já na to mám nejlepší editor na světě - PSpad. nastavím si kodování latin II(CP852) a jeto. jenže nevím jak změnit barvu textu v tom batchu.

 
Odpovědět 21.9.2013 16:23
Avatar
Kit
Redaktor
Avatar
Odpovídá na venca
Kit:21.9.2013 17:15

Tak bacha. Nejlepší editor na světě není PSpad, ale Vim :)

Odpovědět  -1 21.9.2013 17:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Kit
TomBen:21.9.2013 17:29

Já mám skvělou věc. Dvousložkové zapisovací zařízení: papír a tužka.

  • je mobilní ( vejde se do každé kapsy )
  • je to bezbateriové
  • je levné
  • ekologicky odbouratelné
  • lze zapsat text, formátovaný text, 3D skicu, kótovaný výkres
  • zvládne všechny známé druhy písma bez instalace fontů
  • reaguje na přítlak
  • výsledky lze smazat, vysypat do koše, skladovat v šanonu,

    zamknout, poslat poštou a když je nouze nejvyšší, lze se tím utřít..

Co jiného za ty prachy, nabízí takové funkce. No ne?

Odpovědět  +9 21.9.2013 17:29
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
venca.kostka
Člen
Avatar
Odpovídá na Kit
venca.kostka:21.9.2013 18:07

Tak jaký je ten nejlepší???

 
Odpovědět 21.9.2013 18:07
Avatar
Kit
Redaktor
Avatar
Odpovídá na venca.kostka
Kit:21.9.2013 18:09

Však jsem psal, že Vim. Používám ho na editování veškerého textu a programů.

Odpovědět 21.9.2013 18:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na venca.kostka
Jan Vargovský:21.9.2013 18:10

To přece záleží na daném člověku, jaké prostředí se mu líbí nejvíce.

 
Odpovědět  +1 21.9.2013 18:10
Avatar
venca.kostka
Člen
Avatar
venca.kostka:21.9.2013 18:18

Nevím jak v batch měnit barvu textu jestli to vůbec jde... ale vím že ty slovo "nejde" neznáš žejo

 
Odpovědět 21.9.2013 18:18
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na venca.kostka
Jan Vargovský:21.9.2013 18:32
color NN

N == HEX číslo

  1. N = barva písma
  2. N = barva pozadí
Editováno 21.9.2013 18:35
 
Odpovědět  ±0 21.9.2013 18:32
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na venca.kostka
Daniel Vítek:21.9.2013 18:36

V Batchi se barva textu mění pomocí color "barvapozadí""bar­vatextu"
např.
color 1A je zelený text na modrém pozadí

Seznam barev (zkopírováno z helpu)

0 = Black       8 = Gray
1 = Blue        9 = Light Blue
2 = Green       A = Light Green
3 = Aqua        B = Light Aqua
4 = Red         C = Light Red
5 = Purple      D = Light Purple
6 = Yellow      E = Light Yellow
7 = White       F = Bright White
Odpovědět 21.9.2013 18:36
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
martin
Neregistrovaný
Avatar
martin:21.9.2013 20:58

no jo ale autor to myslel bez instalace jiných programů :)

 
Odpovědět 21.9.2013 20:58
Avatar
janjuracka861:10.10.2013 11:29

Hele prosimtě mě tam ta diakritika dělá problémy
místo ní se tam zobrazují jakési znaky
zkoušel jsem to podle toho návodu uložit 3krát
takže tím to není
můj operační systém je Windows 7 Professional

 
Odpovědět 10.10.2013 11:29
Avatar
jindral
Redaktor
Avatar
jindral:30.10.2013 2:09

Ono pro správné zobrazení diakritiky stačí vzít PSPad a uložit bat dávku v kódování "Latin II" čili CP852 :)

Odpovědět 30.10.2013 2:09
Life's just a dream.
Avatar
PatošíkGerek:12.11.2013 14:41

To je dobré :) Mě to sice nejde mám vyspělejší OS komu to nejde na novějších Win tak si stáhněte PSPad použíté formát latina II a vytvořte si vlastní batch.
Uložený batch otévřete tak že si zase zvolíte Latina II a dáte otevřit a dole vyberete .cmd .nt .bat :) A máte otévřené s vaší uloženou diakritikou :)

Odpovědět 12.11.2013 14:41
Umím programovat v dávkových souborách a Game Maker
Avatar
KlimiCZ
Člen
Avatar
KlimiCZ:3.4.2014 17:06

Jo a s tím sleep dělá se to lepší takhle :
https://www.youtube.com/watch?…

Odpovědět 3.4.2014 17:06
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
Vojtěch Bargl:7.4.2014 13:51

diakritika stačí napsat chcp 1250

 
Odpovědět 7.4.2014 13:51
Avatar
Tomáš Brůna
Redaktor
Avatar
Tomáš Brůna:7.1.2015 16:48

Ahoj funguje diakritika i v příkazu msg? děkuju

Odpovědět 7.1.2015 16:48
Vi veri universum vivus vici
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na Daniel Vítek
Tomáš Brůna:22.3.2015 20:22

A jde nějak změnit i velikost písma?

Odpovědět 22.3.2015 20:22
Vi veri universum vivus vici
Avatar
 
Odpovědět  -1 13.4.2016 9:19
Avatar
Odpovídá na janjuracka861
Tomáš Pařízek:8.5.2016 18:39

Já jsem si to stáhnul a prozkoumal kód, představ si že on tam píše nějaké strašné znaky, a místo nich se ti zobrazí diakritika.

 
Odpovědět 8.5.2016 18:39
Avatar
Msprg
Člen
Avatar
Msprg:21.6.2017 16:06

Čau :D viem že je to už starší článok. Len chcem poukázať na malú chybičku v zdrojovom kóde :D

v kóde:

@echo off
title načítávání.......
stisknutím klávesy enter spustíte načítávání
pause >nul
echo načítávání
echo.
echo|set /p=prosím čekejte
for %%A in ( A B C D E F G H CH I J K L M N O P Q R S T U V W X Y Z ) do echo|set /p=.
echo načteno
pause

Ti chýba "echo " v riadku 3. Ja len tak :D

 
Odpovědět 21.6.2017 16:06
Avatar
Placka03
Člen
Avatar
Placka03:16.4.2018 17:07

Jak se dá udělat, že vám program vypíše ">"?
Když napíšu prostě

echo text >

, program se nespustí.

 
Odpovědět 16.4.2018 17:07
Avatar
Odpovídá na Placka03
Rico ThreeDmax:25.8.2018 16:34

Zkus pred ten znak 'vetsi nez', dat znak strisky .to jetento znak ^

 
Odpovědět 25.8.2018 16:34
Avatar
Placka03
Člen
Avatar
Odpovídá na Rico ThreeDmax
Placka03:1.9.2018 17:13

Aha, děkuji. :-)

 
Odpovědět 1.9.2018 17:13
Avatar
Ivoš
Člen
Avatar
Ivoš:23. ledna 20:19

Jen taková drobnost k diakritice:

  • na psaní dávkových souborů používat Notepad++ (jak již zde bylo doporučeno)
  • v Notepadu++ kliknout na nabídku Formát=>Výběr znakové sady=>středoe­vropské jazyky (CE)=>OEM 852

potom můžete klidně psát znaky s diakritikou a zobrazení bude korektní... vyzkoušejte sami :-)

@echo off
echo příliš žluťoučký kůň úpěl ďábelské ódy
pause

pozn.: v tom textu jsou všechna písmenka s diakritikou ;-)

 
Odpovědět 23. ledna 20:19
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 24 zpráv z 24.