pause
Příkaz pause pozastaví běh dávky a počká na stisk libovolné klávsy a poté bude pokračovat v provádění popřípadě se ukončí.
Více příkazů na jednom řádku
Pokud budete chtít dávat více příkazů na jeden řádek, budete muset použít znak & (ampersand). Na české klávesnici ho vytvoříte stiskem kláves pravý ALT + C. Ampersand nejvíce oceníte při tvorbě zástupců cmd (Místní nabídka -> Nový -> Zástupce). Tohoto zástupce musíte ještě přesunout do složky po spuštění. Může být užitečné pro pozdrav nebo upozornění.
cmd /c echo Dobrý den %username% & echo Dnes je %date% %time% & echo Nenavštěvujte prosím stránky s nelegální a nebo neetickou tématikou. & echo Vaše činnosti jsou monitorovány! echo Děkuji Správce sítě & pause
Příkazy můžeme také oddělit && (dvojitý ampersand). Následující příkaz bude vykonán pouze pokud skončil předchozí příkaz bez chyby. Dále můžete oddělovat příkazy symbolem || (dvojitá roura). Příkaz za rourami bude provedem pouze v případě, že předchozí příkaz skončil s chybou. Toto nalezne uplatnění při detekci nějakého souboru. Pokud je onen soubor nalezen bude se pokračovat a pokud ne dávka skončí. Později se ale naučíme elegantnější způsob.
@echo off
Před každou dávkou používám příkaz @echo off
. Tím vypínám hlášení o průběhu dávky. Zkuste nějakou dávku napsat bez tohoto příkazu na začátku a poznáte proč je to užitečné.
Příklady dávek
Převede datem z formátu cm do formátu dd-mm-yyyy.
@echo off set datum=%date% set datum1=%date:~3% set datum2=%date:.=-% echo %datum2% pause
Pomocí operací s texty, které cmd nabízí můžete také udělat i jednoduchou šifru.
Kodér | Dekodér |
---|---|
@echo off set text="toto je pro studijni ucely" set texta=%text:a=.% set textb=%texta:b=:% set textc=%textb:c=!% set textd=%textc:d=8% set texte=%textd:e=>% set textf=%texte:f=<% set textg=%textf:g=)% set texth=%textg:h=(% set texti=%texth:i=7% set textj=%texti:j=@% set textk=%textj:k=#% set textl=%textk:l={% set textm=%textl:m=}% set textn=%textm:n=$% set texto=%textn:o=^% set textp=%texto:p=+% set textq=%textp:q=;% set textr=%textq:r=_% set texts=%textr:s=1% set textt=%texts:t=2% set textu=%textt:u=/% set textv=%textu:v=?% set textw=%textv:w=&% set textx=%textw:x=3% set texty=%textx:y=|% set textz=%texty:z=-% echo %textz% > C:vypis.txt pause |
@echo off set text="2^2^ @> +_^ 12/87@$7 /!>{|" set texta=%text:.=a% set textb=%texta::=b% set textc=%textb:!=c% set textd=%textc:8=d% set texte=%textd:>=e% set textf=%texte:<=f% set textg=%textf:)=g% set texth=%textg:(=h% set texti=%texth:7=i% set textj=%texti:@=j% set textk=%textj:#=k% set textl=%textk:{=l% set textm=%textl:}=m% set textn=%textm:$=n% set texto=%textn:^=o% set textp=%texto:+=p% set textq=%textp:;=q% set textr=%textq:_=r% set texts=%textr:1=s% set textt=%texts:2=t% set textu=%textt:/=u% set textv=%textu:?=v% set textw=%textv:&=w% set textx=%textw:3=x% set texty=%textx:|=y% set textz=%texty:-=z% echo %textz% >C:vypis2.txt pause |
Tohle je jenom zlomek umění dávkových souborů MS-DOSu. V současné době je dost lidí, kteří se snaží (třeba i hádáním hesel) dostat do vašeho e-mailu. Tak ať se tam dostane a přečte si takto šifrovanou zprávu. Myslím, že bude překvapen. K tomu abyste si tuto zprávu přečetli musíte mít dekodér, který je to samé, co kodér, ale s prohozenýma hodnotami. Používat kodér s těmito hodnotami už není zrovna bezpečné, a proto je lepší, když si vytvoříte svůj vlastní. Jak vydíte skoro nic za tím není. Jenom to chce trpělvost a čas. Bohužel je nutné pokud budete chtít soubor rozkódovat vložit text z něj do proměnné text v dekodéru. V předposledním řádku kodéru je místo, kam se uloží šifrovaný text a v dekodéru je zase místo, kam se uloží dešifrovaný text. Pokud bude již soubor s názvem vypis.txt nebo vypis2.txt exitovat tak bude nenávratně přepsán! Do tohoto kodéru nesmíte používat diakritiku a velká písmena. Když je tam napíšete, tak tam zůstanou tak jak jsou a nezašifrují se. Takhle by se třeba dala vytvořit i slavná Caesarova šifra (posunutí abecedy o 3 znaky) a nebo překladač z azbuky do latinky.