Jak pracovat s příkazovým řádkem

6. říjen 2016 Autor: Tibor

   
Jak pracovat s příkazovým řádkem
Seznam kapitol
1. Předmluva
2. ASSOC - Zobrazí nebo změní přidružení souboru podle přípony
3. ATTRIB - Zobrazí nebo upraví atributy souboru
4. BREAK - Nastaví nebo zruší rozšířenou kontrolu
5. BCDEDIT - Editor úložiště konfiguračních dat spouštění
6. CACLS - Zobrazí nebo změní seznamy řízení přístupu k souborům
7. CALL - Z jednoho dávkového programu vyvolá jiný
8. CD - Zobrazí název nebo změní aktuální adresář.
9. CHCP - Zobrazí nebo nastaví číslo aktivní znakové stránky
10. CHDIR - Zobrazí název nebo změní aktuální adresář
11. CHKDSK - Prověří disk a zobrazí zprávu o jeho stavu
12. CHKNTFS - Zobrazí nebo změní kontrolu disku
13. CLS - Vymaže obrazovku
14. CMD - Spustí novou instanci překladače příkazů systému
15. COLOR - Nastaví výchozí barvy popředí a pozadí konzoly
16. COMP - Porovná obsah dvou souborů nebo sad souborů
17. COMPACT - Zobrazí nebo upraví kompresi souborů v oddílech
18. CONVERT - Převede svazek FAT na svazek NTFS
19. COPY - Zkopíruje jeden nebo více souborů do jiného umístění
20. DATE - Zobrazí nebo nastaví datum
21. DEL - Odstraní jeden nebo více souborů
22. DIR - Zobrazí seznam souborů a podadresářů v adresáři
23. DISKCOMP - Porovnává obsah dvou disket
24. DISKCOPY - Zkopíruje obsah jedné diskety do jiné
25. DISKPART - Spustí nástroj DISKPART
26. DOSKEY - Upravuje příkazové řádky, znovu vyvolává příkazy
27. DRIVERQUERY - Umožňuje zobrazit seznam nainst. ovladačů
28. ECHO - Zobrazí zprávy nebo zapíná a vypíná zobrazování
29. ENDLOCAL - Ukončuje lokalizaci změn proměnných
30. ERASE - Odstraní jeden nebo více souborů
31. EXIT - Ukončí program CMD.EXE (překladač příkazů)
32. FC - Porovná dva soubory nebo sady souborů
33. FIND - Vyhledá textový řetězec v souborech
34. FINDSTR - Vyhledá v souborech řetězce
35. FOR - Provede zadaný příkaz pro každý soubor z množiny
36. FORMAT - Zformátuje disk pro používání v systému Windows
37. FSUTIL - Zobrazí a konfiguruje vlastnosti systému souborů
38. FTYPE - Zobrazí nebo upraví typy souborů při přidružení
39. GOTO - V dávkovém souboru přejde ke zpracovávání řádku
40. GPRESULT - Zobrazí informace o výsledné sadě zásad
41. GRAFTABL - Povolí zobrazování sady rozšířených znaků
42. HELP - Poskytuje nápovědu pro příkazy systému Windows
43. ICACLS - Umožňuje zobrazit, změnit seznamy ACL
44. IF - Provede podmíněný příkaz v dávce
45. LABEL - Vytvoří, změní nebo odstraní jmenovku svazku disku
46. MD - Vytvoří adresář
47. MKDIR - Vytvoří adresář
48. MODE - Konfiguruje systémová zařízení
49. MORE - Zobrazí výstup po jednotlivých obrazovkách
50. MOVE - Přesune soubory a přejmenuje soubory a adresáře
51. OPENFILES - Umožňuje správci odpojit soubory
52. PATH - Vypíše cestu pro vyhledávání spustitelných souborů.
53. PAUSE - Pozastaví provádění dávky a zobrazí zprávu
54. POPD - Jako aktuální nastaví adresář uložený příkazem PUSHD
55. PRINT - Tiskne textový soubor
56. PROMPT - Mění formát výzvy programu CMD.EXE
57. PUSHD - loží aktuální adresář pro použití příkazem POPD
58. RD - Odebere (odstraní) adresář
59. RECOVER - Obnoví čitelné informace z chybného disku
60. REM - Komentář (poznámky) v dávkovém souboru
61. REN - Přejmenuje soubor nebo soubory
62. RENAME - Přejmenuje soubor nebo soubory
63. REPLACE - Nahrazuje soubory
64. RMDIR - Odebere (odstraní) adresář
65. ROBOCOPY - Robustní kopírování souborů pro systém Windows
66. SET - Vypíše, nastaví nebo odstraní systémové proměnné
67. SETLOCAL - V dávkovém souboru zahájí definici
68. SHIFT - Změní pozici nahraditelných parametrů
69. SCHTASKS - Plánuje spouštění příkazů a programů v počítači
70. SHUTDOWN - Umožňuje vypnutí počítače
71. SORT - Seřadí vstupní soubor
72. START - Spustí určený program nebo příkaz v novém okně
73. SUBST - Přiřadí cestě písmeno jednotky
74. SYSTEMINFO - Zobrazí vlastnosti a konfiguraci počítače
75. TASKLIST - Zobrazí seznam všech právě spuštěných úloh
76. TASKKILL - Ukončí spuštěný proces nebo aplikaci
77. TIME - Zobrazí nebo nastaví systémový čas
78. TITLE - Nastaví název okna příkazového řádku
79. TREE - Graficky zobrazí strukturu složek jednotky nebo cesty
80. TYPE - Zobrazí obsah textového souboru
81. VER - Zobrazí verzi systému Windows
82. VERIFY - Určuje, zda má systém kontrolovat správnost zapsání
83. VOL - Vypíše jmenovku a sériové číslo diskového svazku
84. XCOPY - Kopíruje soubory a stromy složek
85. WMIC - Zobrazí informace WMI v interaktivním okně

SET

Vypíše, nastaví nebo odstraní systémové proměnné programu CMD.EXE.

SET [proměnná=[řetězec]]

  proměnná  Určuje název systémové proměnné.
  řetězec   Určuje řetězec znaků, který bude přiřazen proměnné.

Příkaz SET bez parametrů vypíše aktuální nastavení systémových
proměnných.

Jsou-li povolena rozšíření příkazů, příkaz SET se změní takto:

Příkaz SET vyvolaný pouze s názvem proměnné, bez rovnítka a
hodnoty zobrazí hodnoty všech proměnných, jejichž název začíná
názvem uvedeným v příkazu SET. Příklad:

    Příkaz SET P

zobrazí všechny proměnné začínající písmenem P.

Není-li název proměnné v aktuálním prostředí nalezen, nastaví
příkaz SET proměnnou ERRORLEVEL na hodnotu 1.

Příkaz SET neumožňuje, aby rovnítko bylo součástí názvu proměnné.

K příkazu SET byly přidány dva nové přepínače:

    SET /A výraz
    SET /P proměnná=[řetězec_dotazu]

Přepínač /A udává, že řetězec vpravo od rovnítka je číselným
výrazem, který bude vypočítán. Vyhodnocování výrazů je velmi
jednoduché - podporuje následující operace (seřazené od nejvyšší
priority k nejnižší):

    ()                  - seskupování
    ! ~ -               - unární operátory
    * / %               - aritmetické operátory
    + -                 - aritmetické operátory
    <<>>               - logické posunutí
    &                   - operace AND mezi bity
    ^                   - operace EXCLUSIVE OR mezi bity
    |                   - operace OR mezi bity
    = *= /= %= += -=    - přiřazení
    &&= ^= |= <<= >>=
    ,                   - oddělovač výrazů

Použijete-li některý z logických nebo modulových operátorů,
uzavřete řetězec výrazu do jednoduchých uvozovek. Všechny
nenumerické řetězce ve výrazu budou považovány za názvy
proměnných prostředí a před jejich použitím budou jejich hodnoty
převedeny na čísla. Je-li uveden název proměnné prostředí, která
nebyla v aktuálním prostředí definována, bude použita hodnota
nula. To umožňuje provádět aritmetické operace s hodnotami
proměnných prostředí bez nutnosti zápisu znaků %. Je-li příkaz
SET /A spuštěn z příkazového řádku mimo příkazový skript, zobrazí
konečnou hodnotu výrazu. Operátor přiřazení vyžaduje, aby vlevo
od něj byl uveden název proměnné prostředí. Číselné hodnoty jsou
desítková čísla, pokud nezačínají hodnotou 0x (šestnáctková
čísla), nebo hodnotou 0 (osmičková čísla). Proto 0x12 znamená
stejnou číselnou hodnotu jako 18 nebo jako 022. Uvědomte si, že
osmičkový zápis může být matoucí: 08 a 09 nejsou platná čísla,
protože  8 a 9 nejsou platné číslice osmičkové soustavy.

Přepínač /P umožňuje nastavit hodnotu proměnné na vstupní řádek
zadaný uživatelem. Příkaz zobrazí řetězec promptString před
čtením vstupního řádku. Řetězec promptString může být prázdný.

Náhrada systémových proměnných byla změněna:

    %PATH:str1=str2%

Příkaz rozvine systémovou proměnnou PATH a nahradí každý výskyt
řetězce str1 v rozvinutém výsledku řetězcem str2. Pokud je
řetězec str2 prázdný, bude odstraněn jakýkoli výskyt řetězce
str1 ve výsledku. Pokud řetězec str1 začíná hvězdičkou, je
nahrazen výstupní řetězec od počátku do prvního výskytu zbytku
řetězce str1.

Také je možno zadat podřetězec pro rozvinutí:

    %PATH:~10,5%

Příkaz rozvine systémovou proměnnou PATH a použije pouze 5 znaků
počínaje znakem jedenáctým (10 znaků posunuto) rozvinutého
výsledku. Pokud délka není zadána, je použita délka zbývajícího
řetězce. Pokud je posunutí nebo délka záporná, je použita hodnota
vypočítaná jako součet délky řetězce systémové proměnné a
zadaného posunutí nebo délky.

    %PATH:~-10%

Výsledkem je posledních 10 znaků proměnné PATH.

    %PATH:~0,-2%

Výsledkem jsou všechny znaky proměnné PATH s výjimkou posledních
dvou.

Dále byla přidána podpora zpožděného rozvinutí systémových
proměnných. Tato podpora je ve výchozím nastavení vždy vypnuta,
může však být povolena nebo zakázána pomocí přepínače příkazového
řádku /V při spouštění programu CMD.EXE. Zkuste zadat příkaz CMD /?

Zpožděné rozvinutí systémových proměnných je užitečné, je-li
potřeba se vyhnout omezením aktuálního rozvinutí, které nastává,
když je řádek textu čten, nikoli při jeho provádění. Následující
příklad demonstruje problém s okamžitým rozvojem proměnné:

    set PROM=před
    if "%PROM%" == "před" (
        set PROM=po
        if "%PROM%" == "po" @echo Vidíte-li tento text,
                                    fungovalo to
    )

Zde se zpráva nikdy nezobrazí, protože proměnná %PROM% v OBOU
příkazech IF je nahrazena při čtení prvního příkazu If, protože
tento příkaz logicky zahrnuje tělo složeného příkazu If. V
příkazu If uvnitř složeného příkazu se ve skutečnosti porovnává
hodnota "před" s hodnotou "po", a tyto hodnoty jsou různé.
Podobně ani následující příklad nebude fungovat, jak bychom mohli
očekávat:

    set SEZNAM=
    for %i in (*) do set SEZNAM=%SEZNAM% %i
    echo %SEZNAM%

V tomto příkladu NEVZNIKNE seznam souborů v aktuálním adresáři,
místo toho bude proměnná SEZNAM nastavena na poslední nalezený
název souboru. Je to opět proto, že proměnná %SEZNAM% je
rozvinuta pouze jednou, při čtení příkazu FOR, a v té době je
proměnná SEZNAM prázdná. Ve skutečnosti tedy probíhá tato smyčka
FOR:

    for %i in (*) do set SEZNAM= %i

- tím je proměnná SEZNAM neustále nastavována na název posledního
nalezeného souboru.

Při zpožděném rozvinutí systémových proměnných se k rozvinutí
systémových proměnných v době provádění příkazu používá jiný znak
(vykřičník). Je-li zpožděné rozvinutí proměnných povoleno, mohly
by uvedené příklady být přepsány tak, aby fungovaly správně:

    set PROM=před
    if "%PROM%" == "před" (
        set PROM=po
        if "!PROM!" == "po" @echo Vidíte-li tento text,
                                  fungovalo to
    )

    set SEZNAM=
    for %i in (*) do set SEZNAM=!SEZNAM! %i
    echo %SEZNAM%

Jsou-li povolena rozšíření příkazů, existuje několik dynamických
systémových proměnných, které lze rozvinout, nelze je však
zobrazit pomocí příkazu SET. Hodnoty těchto proměnných jsou
vypočítávány dynamicky při každém požadavku proměnnou rozvinout.
Jestliže uživatel nadefinuje vlastní proměnnou se shodným názvem,
uživatelská definice přepíše dynamickou proměnnou. Tyto dynamické
proměnné jsou:

%CD%          - rozvine se na řetězec aktuálního adresáře

%DATE%        - rozvine se na aktuální datum ve stejném formátu
                  jako používá příkaz DATE

%TIME%        - rozvine se na aktuální čas ve stejném formátu
                  jako používá příkaz TIME

%RANDOM%      - rozvine se na náhodné desítkové číslo
                  z intervalu 0 až 32767

%ERRORLEVEL%  - rozvine se na aktuální hodnotu proměnné
                  ERRORLEVEL

%CMDEXTVERSION% - rozvine se na aktuální číslo verze funkcí
                    rozšíření příkazů

%CMDCMDLINE%  - rozvine se na původní příkazový řádek, který vyvolal
                  procesor příkazů.





Reklama


Pokud se Vám nedaří něco najít, můžete využít pole vyhledávání vpravo nahoře nebo také: Mapu webu.
V případě, že máte nějaký dotaz/připomínku: Kontakty.
2016   Hardware - Software - Návody