Příkazový interpret ve Windows XP

Příkazový interpret CMD

Úvod

Od dob Windows 95 se grafická část operačního systému zavádí automaticky a s příkazovým řádkem se vůbec nesetkáte, pokud nechcete. Zatímco ve Windows 95, 98 a ME byl program Příkazový řádek jen simulací MS-DOS, ve Windows 2000 a XP se Příkazový řádek spouští voláním programu cmd. I v těchto novějších systémech lze vyvolat program command, který na první pohled může vyvolat zdání, že se jedná týž program jako cmd. Opak je však pravdou, program command je i nadále jen simulací MS-DOS a je tedy vhodný pouze pro staré dosové programy, které např. vyžadují osmipísmenné názvy. V tomto bloku se budeme dále zabývat jen programem cmd, a to jeho verzí, která je dodávána se systémem Windows XP.

Spuštění Příkazového řádku

Program Příkazový řádek lze snadno spustit z nabídky Start. Ale protože konzolové okno "nezná" myš a našim jediným nástrojem je klávesnice, naučíme se spouštět program stiskem kláves Win + R. Tím vyvoláte dialogové okno Spustit. Zadejte cmd a stiskněte Enter.

Jak ukončit Příkazový řádek? Je to možné stisknutím zavíracího křížku v pravém horním rohu okna, to však provedete násilnou cestou (Windows se vás nebudou ptát, zda máte nějaká neuložená data). Raději tedy ukončujte příkazový řádek zadáním povelu exit bez dalších parametrů.

Parametry

Chování většiny příkazů, lze ovlivnit použitím tzv. parametrů. Parametry jsou údaje, které se píší za název programu. Často jsou parametry pro přehlednost označeny lomítkem, takové se pak nazývají přepínače. Jednotlivé parametry jsou od sebe většinou oddělovány mezerou - na to je třeba pamatovat v případě, kdy jako parametr uvádíte název souboru, který obsahuje mezery. V takovém případě je potřeba tento název uzavřít do uvozovek. Pamatujte také na to, že mnohdy záleží na pořadí parametrů.

Soubory a složky

Vrcholem stromové struktury složek je tzv. kořenová složka. Každý oddíl pevného disku nebo jakéhokoli výměnného média obsahuje právě jednu kořenovou složku, v níž kromě souborů s daty mohou být umístěny i další složky - tedy podsložky kořenové složky. Takto vzniká strom: složky se dále větví a jako listy si můžeme představit soubory.
Vlastností stromové struktury složek je, že z kořenové složky vede ke každé složce či souboru právě jedna cesta.

V Příkazovém řádku (stejně jako dříve MS-DOS) se k oddělování složek popisujících cestu používá obrácené lomítko (na české klávesnici se píše stiskem pravého Alt následovaného stiskem klávesy Q). Pamatujte, že na velikosti písmen nezáleží. Také nezapomeňte, že kvůli mezerám musíte cestu uzavřít do uvozovek!

Absolutní a relativní cesty

Absolutní cesta jednoznačně definuje složku nebo soubor na disku nebo výměnném médiu. Relativní cesty popisují cestu složkami nikoli od kořenové složky jednotky, ale od aktuální složky. Z každé složky totiž vedou cesty do jejích podsložek, ale také pravě jedna cesta do složky nadřazené (výjimkou je kořenová složka).

Nadřazená složka se označuje názvem .. (dvě tečky)

Složka s názvem . (jedna tečka) označuje sebe sama.

Zástupné znaky

Zástupné znaky se používají zejména při operacích, kdy chceme specifikovat více souborů, např. při kopírování, přesouvání nebo mazání.
Při práci se soubory a složkami v Příkazovém řádku je vždy nutné tyto objekty přesně pojmenovat. Popsat jeden soubor pomocí cesty k němu a jeho názvu není nic složitého. Komplikovanější to bude teprve v okamžiku, kdy budete chtít použit více souborů, k tomu však můžeme použít tzv. zástupné znaky.

  • Znak * (hvězdička) reprezentuje libovolný počet libovolných znaků
  • Znak ? (otazník) právě jeden libovolný znak

Zápis *.txt tedy odpovídá všem souborům s příponou txt v aktuální složce. Zápisu *.txt se říká maska. Maska může být i komplikovanější, např. a??.txt odpovídá všem souborům s třípísmenným názvem začínajícím písmenem „a" a příponou txt.
Zástupné symboly lze používat i při zápisu cest. Potom Příkazový řádek vyhodnotí zástupný znak podle první nalezené cesty. Předpokládejme, že v kořenové složce se nacházejí složky data a datel. Potom příkaz

cd c: \dat*

přejde do první nalezené složky odpovídající masce, a tou bude složka data.

Výchozí vstup a výstup

V grafických programech mohou být vstupem data získaná z klávesnice, včetně povelů (šipky), myši či různých periferií (zvuk, obraz). Vstupem jsou také data z pevného disku, výměnného média či sítě. Výstupem je pak text, grafika na obrazovce či na tiskárně, zvuk, stejně jako data na HDD, USB klíčence, odeslaná do internetu a další...

V příkazovém řádku je vše jednodušší, výstup standardně probíhá na obrazovku a vstup je přijímán z klávesnice. Na rozdíl od programů v grafických operačních systémech však lze výchozí vstup a výstup změnit. Výstup programu tedy může směřovat do souboru či vstupem nebudou znaky z klávesnice, ale data ze souboru. Pro tato přesměrování slouží znaky > a < .
Příkaz dir vypisuje soubory z aktuální složky (podrobněji později) na obrazovku. Pokud však zadáte příkaz

dir > c:\vypis. txt

bude výpis složky zapsán do souboru vypis.txt v rootu disku c: a pokud by soubor vypis.txt existoval, bude bez dotazu přepsán! Do souboru lze i připisovat pomocí dvojitého znaku ">>". Pokud tedy v souboru vypis.txt už existuje nějaký text, potom příkaz dir >> c:\vypis.txt do tohoto souboru výpis složky připíše na konec

Výstup jednoho programu lze ihned předat na vstup programu jiného, stačí je oddělit znakem | (nazýváno 'svislítko', nebo 'roura' z anglického pipe). Právě pojem roura se pro takové předávání dat mezi programy používá, protože přesně vystihuje princip, kdy jeden program chrlí data (např. příkaz dir vypisuje řádky se soubory či složkami), druhý program tato data přijímá ve stejném pořadí (např. program more přijatá data posílá dál za podmínky, že není zaplněna obrazovka).

dir | more

Další vstupy a výstupy

V předchozí kapitole jsme popisovali standardní vstup (klávesnice) a standardní výstup (obrazovka). Klávesnice a obrazovka se v tomto případě nazývají popisovač, přičemž:

  • 0 = vstup z klávesnice
  • 1 = výstup na obrazovku
  • 2 = výstup chyb na obrazovku

Popisovače lze přesměrovávat, ale praktického využití nalezne pouze u přesměrování chybového výstupu, tedy veškerých chybových hlášení programu.
Například následující výpis složky bude zapsán do souboru vypis.txt a případné chyby budou zapsány do souboru chyby.txt.

dir c:\data > vypis.txt 2>chyby.txt

V souvislosti s přesměrováním je dobré znát popisovač s názvem nul. Jeho funkce je jednoduchá: cokoli dostane, to zahodí.
Následující příkaz výpisu nikdy nevypíše chybu, i když složka c:\data nebude existovat.

dir c:\data 2>nul

Popisovač lze také přesměrovat do již existujícího popisovače. K této operaci se používá operátor >&, kde před operátorem je popisovač, který chceme přesměrovat, za operátorem pak popisovač, kam bude původní přesměrován.
Vypisujeme příkazem dir soubory ze složky c:\data do souboru vypis.txt. Navíc chceme přesměrovat i chybová hlášení v případě, že složka c:\data neexistuje:

dir c:\data > vypis.txt 2>&1

Operátor > přesměruje standardní výstup (1) do souboru, vyjádření 2>&1 pak chybový výstup pošle do popisovače 1, který ovšem již vede do souboru.
Závěrem kapitoly ještě dodávám, že přesměrování popisovačů se dědí, tzn. pokud přesměrujete popisovače nějakému příkazu a ten vyvolá jiný příkaz, i nově vyvolaný příkaz bude přesměrováván.

Příkazy a programy CMD

Spouštění příkazů a programů

Každý příkaz, který zadáte za výzvu Příkazového řádku, bude zpracován po stisku klávesy Enter. Co se vlastně v počítači po stisku této klávesy odehraje? Nejdříve příkazový řádek zjistí, zda zadaný příkaz zná. Pokud ano, provede jej. Pokud ne, bude zadaný text považovat za název programu. Příkazový řádek nejdříve projde aktuální složku. Pokud byl zadán název programu bez přípony, bude Příkazový řádek zkoušet přípony podle proměnné %PATHEXT%. Ta ve výchozím nastavení obsahuje seznam koncovek programů, což znamená, že se postupně budou dosazovat přípony z následujícího seznamu.

  • .COM
  • .EXE
  • .BAl
  • .CMD
  • .VBS
  • .VBE
  • .JS
  • .JSE
  • .WSF
  • .WSH

Pokud nebyl nalezen žádný program v aktuální složce, bude načtena proměnná %PATH% obsahující složky, kde se mají hledat programy. Pro každé takové místo provede Příkazový řádek totéž: nebyla-li zadána přípona, zkouší dosazovat ty, které jsou uloženy v proměnné %PATHEXI%. Nebyl-li nikde nalezen program odpovídajícího jména, je název považován už definitivně za příkaz. Příkazový řádek se jej pokusí vyhodnotit a pokud jej zná, provede jej. V jiném případě vypíše chybové hlášení.
Z těchto vlastností logicky vyplývá:

  • Příkazy mají přednost před stejnojmennými programy
  • Programy stejného jména s různými příponami se vyhodnocují podle pořadí přípon v proměnné %PATHEXT%
  • Programy v aktuální složce mají přednost před programy ve složkách uvedených v proměnné %PATH%
  • Pro spuštění programu, není nutné zadávat jeho příponu, ovšem pozor na případy, kdy přípona rozliší mezi dvěma různými programy
  • Chcete-li, aby byl nějaký program spuštěn z jakékoli složky, musíte jej umístit do složky obsažené v proměnné %PATH%.

Nápovědy

Příkazový řádek má vlastní nápovědu, a to dvojího typu. Vypsanou na žádost parametru /?.

dir /?

Tímto se dozvíte, co příkaz dir dělá a jaké parametry můžete použít pro ovlivnění jeho chování.
Druhou možností nápovědy je příkaz help. Bez dalších parametrů vypíše seznam základních příkazů Příkazové řádky se stručnou charakteristikou. Aby se vám výpis zobrazoval postupně, použijte příkaz:

help | more

Detailnější nápovědu získáte tak, že za příkaz help zadáte jeho název, např. help dir. Program provede nabídku příkazu, jako byste mu vy sami vnutili parametr /?.

Výpis složky

Zajímá-li vás obsah aktuální složky, potom použijte příkaz dir (z anglického directory = adresář). Ve standardním zobrazení bude nejdříve vypsáno záhlaví (ve dvou řádcích je popsán aktuální diskový oddíl, dále název vypisované složky) a potom jednotlivé soubory a složky.
Sloupce:

  1. Datum poslední změny
  2. Čas poslední změny
  3. Typ (<D1R> značí složku, <JUNCTION> pevný odkaz, není-li typ uveden, jde se o soubor)
  4. Celý název souboru nebo složky

Za seznamem souborů a složek bude vypsáno zápatí obsahující informace o počtu vypsaných souborů, složek, velikosti souborů a volném místu na jednotce.
Nejčastější parametry:

dir "cesta ke složce"

Tento příkaz vypíše obsah uvedené složky, může se jednat o cestu relativní i absolutní. Např. dir .. vypíše obsah nadřazené složky, dir Léto vypíše obsah podsložky Léto (pokud taková v aktuální složce existuje)

dir /p

Pozastaví výpis při zaplnění všech řádků. Tento parametr způsobí to, že generování výpisu bude pozastaveno při zaplnění obrazovky a pokračovat se bude až po stisku libovolné klávesy. Univerzálnější je použití přesměrování výstupu do příkazu more (viz dále).

dir /ax

Zařadí nebo omezí soubory ve výpise v závislosti na atributech souboru, které jsou určeny pomocí znaku x. Za něj lze použít jeden nebo více znaků, přičemž:

  • d = složky
  • r = soubory pro čtení
  • h = skryté soubory
  • a = soubory určené k archivaci
  • s = systémové soubory
  • - = soubory daného atributu naopak omezí
dir /a -dhs

Vypíše pouze soubory (nikoli složky), a to včetně skrytých a systémových.

Změna složky

Při práci se soubory bude nutné přecházet mezi složkami. Pro změnu aktuální složky použijte příkaz:

cd "cesta ke složce"

Příkaz cd bez parametrů vypíše aktuální složku. Parametr /d změní chování příkazu cd tak, že je možné potom změnit i aktuální diskovou jednotku. Předpokládejme, že aktuální složka je na disku c:, potom vás příkaz:

cd /d d:\data

přepne do této složky. Jelikož příkaz cd může mít pouze jediný přepínač /d, který navíc musí předcházet názvu cesty, není nutné cestu uzavírat do uvozovek, a to ani v případě, kdy cesta obsahuje mezery.

Změna jednotky

Příkaz "dvojtečka" = změna aktuální jednotky
Tento příkaz má zcela nestandardní podobu, která vychází z dávné historie systému MS-DOS verze 1.0. Protože byl DOS od počátku koncipován jako zjednodušený Unix a přitom se od něj Microsoft chtěl co nejvíce lišit (snad aby se ubránil nařknutí z plagiátorství), vznikly i takto nesmyslné příkazy (druhou ukázkou záměrného odlišování se je používání zpětného lomítka pro oddělování složek při zápisu cesty). Stačí zadat jen písmeno jednotky následované dvojtečkou a dojde k přepnutí aktuální složky na požadované médium. Takové přepínání má jednu zajímavou vlastnost: aktuální složka je uložena pro každé médium zvlášť a při přepnutí je použita poslední složka požadované jednotky.

Stránkování výpisu

Příkaz more lze v základní funkci použít ke stránkování výpisu. Příkaz bez dalších parametrů přebírá soubory ze vstupu a posílá je na výstup. V okamžiku, kdy je obrazovka zaplněna, zobrazí na posledním řádku — Další — a vyčkává na povel uživatele.

  • Mezera - pokračuje ve výpisu další stránky
  • Enter - pokračuje ve výpisu dalšího řádku
  • q - ukončí okamžitě výpis
  • ? - vypíše nápovědu (vypíše pouze možná písmena, která může uživatel stisknout

Příkaz more lze navíc i přesměrovat. Například při příkazu more < c:\data.txt bude jako vstup použit soubor data.txt v kořenové složce disku a ten tedy bude vypsán na obrazovku.

Třídění

Velice jednoduchou funkci vykonává příkaz sort. Pokud není zadáno jinak, přijímá data ze vstupu, vzestupně je třídí a odesílá na výstup. Přímo se nabízí jeho použití v „rourách', např.:

dir /b /s | sort | more

Tímto se provede výpis celých cest všech souborů v podsložkách, který bude seřazený a odstránkovaný příkazem more.
Příkaz sort však může mít další parametry:

  • /r - třídění proběhne v opačném pořadí, tedy od Z k A
  • /+n - třídit se bude až od n. znaku. Běžně se třídí od znaku prvního. Řádky, které mají méně než n znaků budou zařazeny na začátek.
  • /o soubor.txt - výstup nebude směřovat na obrazovku, ale do souboru soubor.txt

Aktuální výzva

Programy příkazového řádku i příkazový řádek samotný používají jako standardní vstup klávesnici a prostřednictvím ní zadaná data. Aby uživatel věděl, že příkazový řádek od něj očekává vstup, vypisuje tzv. výzvu. Standardně výzva sestává z názvu aktuální složky a znaku větší Výzvu lze změnit příkazem prompt následovaným textem, který se má vypisovat. V textu lze použít speciální kombinace znaků, jejich seznam získáte příkazem prompt /?.
Ukážeme si ty nejzajímavější:

  • $p - aktuální složka
  • $g - znak větší
  • $11 - aktuální jednotka
  • $d - aktuální datum
  • $t - aktuální čas
  • $h - smazat poslední znak
  • $s - znak mezera

prompt $t$h$h$h$h$h$h$s$p$g

Zobrazí čas (pouze hodiny a minuty) následované mezerou, cestou a znakem větší.

prompt $p$g

Tímto se opět vrátíte na původní standardní výzvu.

A když už se zabýváme psaním po obrazovce, pak je tu další příkaz zvaný echo. Při běžné práci zřejmě tuto funkci nepoužijete, hodit se vám bude až v dávkovém zpracování příkazů.

Doskey

Doskey není ani tak příkaz, jako spíše program, který rozšiřuje možnosti programu Příkazový řádek. Ve Windows XP se spouští automaticky. Jednou z funkcí je možnost vracet se k příkazům zadaným dříve:

  • šipka nahoru/dolů - nabídne předchozí/následující zadaný příkaz
  • klávesa PageUp/PageDown - nabídne první/poslední zadaný příkaz
  • šipka vlevo/vpravo - o znak doleva/doprava
  • klávesy home/end - na začátek/konec řádku
  • F1 - použij jeden znak z minule zadaného příkazu
  • F2 - zobrazí výzvu pro zadání posledního znaku - po stisku se budou vypisovat všechny předcházející znaky minule zadaného příkazu
  • F3 - vypíše všechny zbývající znaky minule zadaného příkazu
  • F4 - zobrazí výzvu pro zadání znaku, po který se má text vymazat. Pokud jste napsali příkaz dir / w /pa, a neprovedli jste jej, přešli jste na začátek řádku (klávesa Home) a stiskli F4 a poté w. Na řádku zůstane w /p
  • F5 - ekvivalentní zadání šipka nahoru - nabídne předchozí zadaný příkaz.
  • F6 - vloží znak „konec souboru" (ekvivalentní Ctrl + Z)
  • F7 - zobrazí historii příkazů. Následně použijte šipky nahoru a dolů pro výběr a Enter pro potvrzení a provedení vybraného příkazu
  • F8 - nabídne předchozí příkaz, který začíná znaky už zadanými do výzvy
  • F9 - vyzve k zadání čísla příkazu. Čísla jsou prozrazena ve výpisu vyvolaném klávesou F7
  • Alt + F7 - smaže historii příkazů

Pomocí nástroje doskey lze také vytvářet tzv. makra. Makro sestává ze svého jména a ze své definice. Vše pak funguje tak, že zadáte-li název makra, bude provedena jeho definice. V definici je možné použít parametry $1 až $9, které potom odpovídají zadaným parametrům, případně $* odpovídá všem zadaným parametrům. Je možné použít:

  • $G - přesměruje výstup (odpovídá znaku >)
  • $G$G - přidá výstup na konec (odpovídá znaku »)
  • $L - přesměruje vstup (odpovídá znaku <)
  • $B - roura, přesměrování výstupu na vstup (odpovídá znaku |)
  • $T - oddělovač příkazů
  • $$ - znak $.

Pojďme opět demonstrovat na příkladech: Řekněme, že často vypisujete složky bez záhlaví, tedy příkazem dir /b.
Nadefinujte makro příkazem:

doskey slozka=dir /b $*

Potom zadáte-li příkaz slozka, můžete použít stejné parametry jako u příkazu dir a přitom vždy bude výpis bez záhlaví.

Vyhledání

Příkaz find zpracovává výchozí vstup, vyhledává v něm řetězec a řádky, které řetězec obsahují, posílá na výstup.
Lze tedy například zadat:

dir /b /s | find /i "kniha"

Na obrazovku pak budou vypsány jen ty soubory a složky, které obsahují text kniha, přičemž prohledány budou i podsložky aktuální složky. Parametr /i zajistí, že příkaz find nebude rozlišovat malá a velká písmena.
Další parametry:

  • find /v "text" - bude zobrazovat řádky, které řetězec „text" neobsahuji
  • find /c "text" - nezobrazuje hledané řádky, jen vypíše počet nalezených řádků obsahujících „text"
  • find /n "text" - před řádek s nalezeným textem vloží Číslo řádku,
  • find "text" soubor.txt - prohledávat se nebude výchozí vstup, ale zadaný soubor

Hledaný text vždy musí být zadán v uvozovkách. Pokud má hledaný text obsahovat uvozovky, je třeba je zadat dvojitě.

Pokročilé příkazy CMD

Vytvoření složky

Alternativou k příkazu mkdir je md, přičemž název vznikl z anglického make directory. Příkaz vytvoří složku se zadaným názvem, jsou-li zapnuta rozšíření příkazů, potom vytvoří i všechny nezbytné složky „cestou" k zadané.
Předpokládejme, že se nacházíme ve složce c:\data, kde nejsou žádné další podsložky:

mkdir texty

Vytvoří podsložku texty složky c:\data

mkdir c:\data\texty
Učiní totéž, ovšem není nutné mít jako aktuální složku c:\data.
Příkaz mkdir do vytvořené složky nepřejde. Abyste si ušetřili „práci", můžete si nadefinovat pomocí příkazu doskey makro na nový adresář:

doskey na=mkdir $l$Tcd $1

Pokud potom zadáte např. na jméno, vytvoří se složka jméno a stane se aktuální složkou.

Odstranění složky

Stejně jako jsme v minulém příkazu složku vytvořili, budeme ji někdy možná chtít smazat. Za tímto účelem můžeme použit příkaz rmdir (případné rd, obojí z anglického remove directory). Parametrem příkazu je opět složka (cesta k ní), která má být smazána. Pokud mazaná složka není prázdná, ke smazání nedojde. Toto chování lze změnit dvěma parametry:

  • rmdir /s složka - před smazáním složky bude vymazán její obsah (budete dotázáni na potvrzení)
  • rmdir /s /q složka - na potvrzení dotázáni nebudete a k mazání dojde ihned

Pokud se pokusíte smazat složku, v níž se nacházíte, operace skončí chybou.

Kopírování

Data je občas nutné kopírovat. Příkaz copy vyžaduje pouze dva parametry: první je cesta ke zdrojovému souboru, druhý je buď cesta do cílové složky nebo přímo cílový soubor (tím lze soubor přejmenovat). Používat lze i další parametry, nejlépe je vše vidět na příkladech. Předpokládejme, že se nacházíme ve složce c:\data, která obsahuje složku texty a také soubory zprava.txt a dopis.txt.

  • copy zprava.txt texty - zkopíruje soubor zprava.txt do složky texty
  • copy zprava.txt kopie.txt - zkopíruje soubor zprava.txt do téže složky, ale nový soubor ponese název kopie.txt
  • copy zprava.txt texty\kopie.txt - zkopíruje soubor zprava.txt do složky texty, ale nový soubor se bude jmenovat kopie.txt
  • copy *.txt data - zkopíruje všechny soubory s příponou .txt do složky data
  • copy zprava.txt+dopis.txt novy.txt - spoji soubory zprava.txt a dopis.txt a výsledek uloží do souboru novy.txt
  • copy *. txt novy.txt - spojí všechny soubory s příponou .txt a výsledek uloží do souboru novy.txt

Kopírování rozšířené

Příkaz xcopy lze použít ke kopírování celých adresářových struktur. Pomocí mnoha parametrů jej lze využít i k zálohování souborů. Prvním povinným parametrem je uvedeni zdrojových souborů, samozřejmě lze použít zástupné znaky. Druhým parametrem může být cíl; pokud nebude uveden, předpokládá se kopírování do aktuální složky. Zadáte-li jako cil název jednoho souboru, potom budou zdrojové soubory spojeny do jednoho - místo zástupných znaků lze použít i syntaxi souborl+soubor2+soubor3...

xcopy *.* c:\data

Pokud existuje složka c:\data, potom zkopíruje všechny soubory z aktuální složky do složky c:\data. Pokud taková složka neexistuje, dotáže se, zda ji vytvořit, nebo zda vytvořit soubor data ve složce c:\ a do něj zkopírovat všechny soubory aktuální složky.

xcopy a: \*. *

Zkopíruje všechny soubory z mechaniky a: do aktuální složky.

Příkaz má mnoho dalších parametrů. Jako vždy se je dozvíte zadáním příkazu xcopy /?.

Přesun souboru a složek

Tak jako příkaz copy kopíruje, příkaz move přesouvá. Syntaxe je obdobná příkazu copy, ovšem spojování souborů není možné.

move *.txt texty

Přesune všechny soubory s příponou .txt do složky texty.

Přejmenování

Chování příkazu rename (nebo také pouze ren) je stejné, jako chování příkazu move v případě, kdy zadáte pouze nové jméno, přičemž jednotka i složka zůstanou zachovány. Nejjednodušší použití je:

rename staréjméno novéjméno

Smazání souboru a složek

Příkazem del můžete mazat soubory ve složkách nebo i celé složky včetně souborů. Zcela ekvivalentní je příkaz erase. Příkaz maže bez dotazu v případě, že je specifikován jeden soubor. Je-li specifikováno více souborů pomocí zástupných znaků, potom se před operací dotáže.

del c:\data\*.jpg

Vymaže všechny soubory s příponou .jpg ze složky c:\data, před mazáním budete dotázáni.

del c:\data

Vymaže všechny soubory ze složky c:\data, složku však ponechá na svém místě, před mazáním budete dotázáni.

del /q c:\data

Stejné jako předchozí, ale okamžitě bez dotazu.

del /f *

Vymaže všechny soubory v aktuální složce, před mazáním se jednou zeptá. Parametr f způsobí, že smazány budou i soubory s příznakem Pouze pro čtení.

Přístupová práva

V souborovém systému NTFS obsahuje každý soubor nebo složka informaci o přístupových právech. Zobrazovat a měnit je lze pomocí příkazu cacls soubor. V této formě bude pouze vypsán seznam přístupových práv.
Rozlišuje se pět základních:

  • n - žádné
  • r - čtení
  • w - zápis
  • c - změna
  • f - úplné řízení

U složek se pak mohou vyskytnout ještě tyto příznaky práv:

  • OI - tato složka a soubory
  • CI - tato složka a podsložky
  • IO - kromě aktuálního souboru/složky
  • (OI)(CI) - tato složka, podsložky a soubory
  • (OI)(CI)(IO) - jen podsložky a soubory
  • (CI)(IO) - jen podsložky
  • (OI)(IO) - jen soubory

Není-li příznak uveden, týkají se práva jen aktuální složky. Příkaz cacls lze použít například takto:

cacls soubor /g uzivatel:x

Pro soubor přidělí uživateli uživatel práva x. Lze použit i zástupné symboly.

cacls soubor /d uživatel

Uživateli uživatel odepře přístup k souboru. Ostatní přístupová práva budou odstraněna!

cacls soubor /e /d uzivatel

Jako předchozí, ale ostatní přístupová práva nebudou ovlivněna.

Pokud budete měnit přístupová práva, je dobré vždy použít parametr /e, aby původní přístupová práva nebyla zapomenuta. Chcete-li nahradit stávající přístupová práva uživatele, použijte místo parametru /g parametr /p.
Vždy můžete zadat i více uživatelů.

Dávky

Nevýhodou používání Příkazového řádku se může zdát skutečnost, že je příkazy nutné zadávat z klávesnice, a to pokaždé znovu. Proto existuje možnost dávkového zpracování příkazů. Dávka je obyčejný textový soubor, který obsahuje na jednotlivých řádcích příkazy tak, jako by je postupně zadával uživatel. Pokusme se vytvořit dávku, která vymaže obrazovku, vypíše nápis „Dnes je" a aktuální datum a čas. Bez použití dávky bychom museli zadat tyto příkazy:

@echo off cl s
echo Dnes je dáte /t time /t

Nyní vytvořme dávku s názvem dnes.bat - každá dávka musí mít příponu bat (z anglického batch), aby systém věděl, že ji má spustit. Triviální způsob vytvoření dávky je následující: zadejte příkaz copy con dnes.bat - budeme tedy kopírovat vstup z klávesnice do souboru dnes.bat. Zadávejte příkazy tak jako výše, každý ukončete klávesou Enter. Až zadáte poslední řádek a stisknete Enter, zadejte znak „konec souboru" stiskem Ctrl + Z. Na obrazovce se objeví AZ. Stiskněte Enter a zadávání dávky se ukončí.
Nyní stačí zadat pouze příkaz dnes a stisknout Enter. Příkazový řádek podle přípony bat zjistí, že se jedná o dávku, a provede příkazy na jednotlivých řádcích.

Editování dávek

Bylo by silně nepraktické, kdybychom při každé úpravě dávky ji museli smazat a napsat celou znovu. K editování lze samozřejmě použít libovolný textový editor, který umí ponechat neformátovaný text tak, jak je. Přímo se k tomuto účelu nabízí použiti Poznámkového bloku, ten má ovšem problematické kódování.
Přímočaré řešení se jmenuje prostě edit. Zkuste zadat edit dnes.bat. Editor lze ovládat podobně, jako jsme zvyklí z programů ve Windows.

Plánování příkazu

Příkaz at slouží k naplánovaní provedeni příkazu či spuštění programu na určitý okamžik, případně jeho naplanovaní na pravidelné spouštěni. Vše si ukážeme na přikladu, kdy budeme chtít volat dávku zalohuj.bat uloženou ve složce c:\windows (není tedy nutné zadávat cestu k ní). Tato dávka zkopíruje všechny soubory z vaší složky do jiné složky na druhém pevném disku - provádí tedy zálohu vašich dat.

at

Pouze vypíše seznam naplánovaných úloh

at 6:00 zalohuj.bat

Naplánuje spouštění dávky na 6. hodinu ráno. Jakmile tato doba nastane, bude dávka na pozadí spuštěna (její průběh se však nebude nikde zobrazovat). Následně bude spouštění dávky ze seznamu naplánovaných úloh vymazáno.

at 6:00 /every:po zalohuj.bat

Naplánuje spouštění dávky na každé pondělí v 6 ráno. Opět dávka proběhne na pozadí. Dny v týdnu lze oddělovat čárkou, potom bude spuštění naplánováno pro každý den. Pro dny v týdnu použijte zkratky po (pondělí), st (středa), pa (patek), so (sobota) a ne (neděle). Bohužel zkratky út a čt končí chybou.

at 6:00 /interactive zálohuj.bat

Dávka bude probíhat v popředí a aktuálně přihlášený uživatel uvidí její okno - s takto spuštěným programem bude moci i komunikovat.

at 2 /delete

Naplánovaná úloha číslo 2 bude zrušena. Čísla úloh jsou zobrazena při výpisu pomocí příkazu at bez dalších parametrů.

Příkaz Net

Příkaz net je komplexní nástroj pro práci se sítí a uživateli počítače. Prvním parametrem je vždy druh operace, další pak závisejí na požadované operaci. Operace lze rozdělit do několika skupin:

  • Práci s uživateli a jejich nastaveními lze použít příkazy: net user, net localgroup, net accounts
  • Práce se sdílenými složkami, soubory i tiskárnami: net use, net filé, net share, net ses- sion, net vieio, net print
  • Zobrazování informací o počítači: net config, net statistics
  • Práce se službami systému Windows: net start, net pause, net continue, net stop
  • Práce v doménách: net Computer, net group, net time
  • Zasílání zpráv a nastavení aliasů: net send, net name

Nápovědu k příkazu net lze vypsat pomocí příkazu net help, nápovědu ke konkrétní operaci získáte pomocí příkazu net help operace, tedy např. net help use.