O možnostech a výhodách skriptování na *nixových operačních systémech nikdo nepochybuje, vše je dobře zdokumentované, na internetu lze najít spoustu návodu, hodně uživatelů vám s tímto poradí. Zcela opačná je situace ve Windows. O možnostech skriptování na této platformě lze velmi obtížně najít jakékoliv informace, dokumentace prakticky neexistuje, málo kdo to umí.
Skripty pod Windows mají koncovku .cmd, vytvoříme tedy soubor skript.cmd (nejlépe v notepadu) a uložíme jej. Začít jinak než „Hello World“ prostě nejde. Do skriptu napíšeme (nečekaně)
echo Hello World
uložíme a spustíme příkazem skript.cmd. Dostaneme něco jako toto:
echo Hello World
Hello World
Vidíme, že se nejdříve vypsal příkaz a až potom se provedl. Tomu zabráníme přidáním
@echo off
na začátek skriptu.
Příkaz končí koncem řádku, za echo tedy můžeme vložit libovolný text, složených z jakýchkoliv znaků včetně mezer, který se vleze na 1 řádek.
Proměnou deklarujeme jednoduše
set promena=hello world (opět vše až do konce řádku bude obsahem proměnné)
Pro názvy proměnných platí několik podmínek:
1) název může obsahovat alfabetické znaky, čísla a podtržítko
2) prvním znakem nesmí být číslo
3) nesmí se použít klíčová slova jako for, if atp.
4) na velikosti písmen nezáleží
Proměnou vypíšeme tím, že jí „obalíme“ do %
echo %promena%
Jelikož jakýkoliv příkaz je ukončen koncem řádku, není problém vypsat více proměnných najednou
echo %promena1% %promena2% %promena3%
Taktéž není problém zkopírovat více proměnných do jedné
set promenaDohromady=%promena1% %promena2%
Existují také speciální proměnné %0, %1, %2, %3, …, %9. %0 uchovává název skriptu, %1 odkazuje na první argument příkazové řádky, %2 na druhý atp. Skriptem
echo %0
echo %1
vypíšeme název skriptu a první argument. Pokud bychom náhodou potřebovali více než 8 argumentů, musíme použít shift příkaz, který způsobí přesunutí %1 na %0, %2 na %1, … Jelikož nula se nemá kde přesunout, je „zapomenutá“. Vypsání 10 argumentu tedy dosáhneme takto:
shift
echo %9
Vypsání 11 takto:
shift
shift
echo %9
Tímhle můžeme pokračovat prakticky do nekonečna. Pro dnešek skončíme a příště se podíváme na řídící příkazy (if, for) a možná i něco navíc.
heh, ja spis myslel, ze to boudou mswsh scripty, a ne dosovsky :(
wsh skripty jsou celkem dost slozite, ma to blize k programovani nez skriptovani. tyhle skripty jsou mozna prehistoricke, ale spolehlive funguji i na nejnovejsich win:-) a navic jsou pro normalni uzivatele podstatne uzitecnejsi
ale treba narozdil od tehlech umi wsh spustit vic programu naraz (vlastne tenhle, az kdyz se jeden ukonci, tak spusti dalsi ...
Pro přidání komentáře se musíš přihlásit nebo registrovat na signály.cz.