Dávkové súbory
Jednoduché programování pomocí příkazů operačního systému, umožňují automatizaci posloupnosti příkazů.
Spustitelné soubory s koncovkou *.bat (batch file) nebo *.cmd (textové soubory obsahující příkazy (aplikace))
Nepoužívat diakritiku
WIN + R - notepad
ping localhost - pingne moji síťovou kartu
ping 10.10.10.123 - pingne zdejší uzel
(ping 10.10.111.1 (dns))
ping 212.111.0.10 - dns provider
ping www.seznam.cz
ping www.google.com
pause - pozastaví se běh dávkového souboru
Použití Poznámkového bloku pro vytvoření dávkového souboru – bacha čeština! Použij Unicode
Spuštění baťáku z příkaz. řádky, spuštění z Win (otevře si své vlastní okno!).
Příkazy pro tvorbu – předvádím na testnet.bat = kontrola inet připojení localhost->brána->google.cz
Postupně jej vytvářím a komentuju, oni si bokem píší příkazy a co dělají.
PAUSE
CLS
COLOR
ECHO, použití znaku @ - @ ping = napíše jenom výsledek
- @echo off - vypne všude
vypsání prázdného řádku: echo. (echo s tečkou), echo --------------- - udělá čáru
REM - příkaz pro poznámku - nebude se vykonávat
SET, proměnné - informace o PC
Proměnná je pojmenované místo v paměti, které může obsahovat libovolnou hodnotu (znak.řetězec, číslo)
přiřazení hodnoty do proměnné: SET promenna=hodnota !! nepíšou se procenta (může být i text s mezerou)
výpis proměnné ECHO %promenna% (název proměnné musí být v procentech!)
Deklarace není v %%, proměnná
systémové proměnné – nastavuje je OS, výpis: SET
další: %CD% - cesta k akt. složce
%DATE% - aktuální datum – vrací st 28.1.2009
chci md celedatum: md “%DATE%“ (v uvoz.)
~ levýAlt+126 chci md datum: md %DATE:~3%
(zkrácení - výpis až od čtvrtého znaku)
%TIME% - aktuál. čas
%ERRORLEVEL% - návratový kód posled. operace
0 – příkaz proveden úspěšně 1 (a víc) – neúspěšně
zadání hodnoty proměnné z příkazové řádky
SET /p promenna=vyzva set /p X=Zadej první hodnotu:
IF - kosočtverec
a) porovnání dvou řetězců IF %X% == %Y% příkaz
číselné porovnávání ! akceptuje jen EN zápis desetinných čísel s tečkou 9.99!
operátory: LSS <, LEQ <=, GTR >, GEQ >= (klidně se zachraň Helpem)
předpona NOT otočí platnost podmínky
rozšíření: IF podmínka (příkaz1) ELSE (příkaz2) funguje jako větvení (kolem příkazů musí být závorky!)
b) IF EXIST soubor/složka (příkaz1) ELSE (příkaz2)
GOTO – příkaz skoku na návěští = označené místo v programu : návěští
Cyklení - 6 úhelník - FOR - FOR /L %%variable IN (start,step,end) DO command
@echo off
FOR /L %%I IN (1,1,20) DO echo %%I
pause
Proměnné příkazu FOR se přímo v CMD označuje %Promenna, v rámci dávkových souborů
pak %%Promenna, jsou jednopísmenné a case sensitive! Podrobnosti viz FOR /?
Doporučení z webu: Používej %%G viz http://ss64.com/nt/for.html
FOR /L – klasický cyklus pro proměnnou %%G (Start, Krok, Konec) PŘÍKAZ
FOR /L %%P (1,1,10) ECHO %%G
FOR /L %%P (10,5,100) MD Slozka%%G
FOR /L %%G (1,1,20) SHUTDOWN /m \\pc%%P /r /t 0[s1]
FOR – bez parametru, pracující se zadanou sadou objektů
FOR %%G IN (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) DO MD C:\demo\%%G
FOR /R – cyklus rekurzivně procházející stromovou strukturu
For /R C:\temp\ %%G IN (*.bak) do del "%%G"
FOR /F – zpracovává obsah souboru
Již pokročilé techniky viz http://ss64.com/nt/for_f.html
[s1]Okamžitý restart!