5. říjen 2020 Autor: Tibor
Spustí novou instanci překladače příkazů systému Windows.
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] řetězec]
/C Provede příkaz určený řetězcem a skončí.
/K Provede příkaz určený řetězcem, zůstane však zachován.
/S Změní způsob zpracování řetězce za přepínači /C nebo /K (viz dále).
/Q Vypne zobrazování výsledků.
/D Zakáže provádění příkazů AutoRun z registru (viz dále).
/A Způsobí, že výstup vnitřních příkazů do kanálu nebo
do souboru bude v kódu ANSI.
/U Způsobí, že výstup vnitřních příkazů do kanálu nebo do souboru bude
v kódu Unicode.
/T:fg Nastaví barvy popředí a pozadí (další informace získáte příkazem
COLOR /?).
/E:ON Povolí rozšíření příkazů (viz dále).
/E:OFF Zakáže rozšíření příkazů (viz dále).
/F:ON Povolí ukončovací znaky názvů souborů a adresářů (viz dále).
/F:OFF Zakáže ukončovací znaky názvů souborů a adresářů (viz dále).
/V:ON Povolí zpožděné rozvinutí proměnné prostředí s využitím znaku ! jako
oddělovače. Například přepínač /V:ON umožní, aby zápis !prom! rozvinul
proměnnou prom během provádění. Syntaxe prom rozvine proměnnou během
zadání, což je něco zcela jiného, dojde-li k tomu uvnitř smyčky FOR.
/V:OFF Zakáže zpožděné rozvinutí proměnných prostředí.
Řetězec může obsahovat více příkazů uzavřených v uvozovkách a oddělených
oddělovačem příkazů '&&'. Dále platí, že z důvodů kompatibility
je /X totéž jako /E:ON, /Y je totéž jako /E:OFF a /R je totéž
jako /C. Všechny ostatní přepínače jsou ignorovány.
Je-li uveden přepínač /C nebo /K, bude zbytek příkazového řádku
za tímto přepínačem zpracován jako příkazový řádek, přičemž při
zpracování znaků uvozovka (") bude použita tato logika:
1. Budou-li splněny všechny následující podmínky, budou znaky
uvozovek v příkazovém řádku zachovány:
- žádný přepínač /S;
- právě dva znaky uvozovek;
- žádné speciální znaky mezi dvěma znaky uvozovek,
kde speciálními znaky rozumíme některé ze znaků: &<>()@^|;
- mezi dvěma znaky uvozovek se vyskytuje
jeden nebo více prázdných znaků;
- řetězec mezi dvěma znaky uvozovek je názvem
spustitelného souboru.
2. V ostatních případech budou uvozovky interpretovány postaru:
Je-li prvním znakem znak uvozovky, odstranit z příkazového
řádku počáteční znak a poslední znak uvozovky a zachovat
veškerý text za posledním znakem uvozovky.
Pokud nebyl na příkazovém řádku zadán parametr /D, příkaz CMD.EXE
prohledá po spuštění následující proměnné typu REG_SZ nebo
REG_EXPAND_SZ registru a jestliže jsou obě proměnné k dispozici,
spustí nejdříve dané programy.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
nebo
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
Rozšíření příkazů jsou ve výchozím nastavení povolena. Pro jednotlivá
volání můžete rozšíření zakázat pomocí přepínače /E:OFF. Rozšíření
můžete povolit nebo zakázat pro všechna volání programu CMD.EXE
v daném počítači nebo pro přihlašovací relaci určitého uživatele
nastavením některé z následujících hodnot REG_DWORD
(nebo obou) v registru pomocí programu REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
nebo
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
na hodnotu 0x1 nebo 0x0. Nastavení pro určitého uživatele má
přednost před nastavením pro počítač. Přepínače příkazového řádku
mají přednost před nastaveními v registru.
V dávkovém souboru mají argumenty SETLOCAL ENABLEEXTENSIONS
a DISABLEEXTENSIONS přednost před přepínačem /E:ON nebo /E:OFF.
Podrobnosti zobrazíte zadáním příkazu SETLOCAL /?.
Rozšíření příkazů zahrnují změny a doplňky těchto příkazů:
DEL či ERASE
COLOR
CD či CHDIR
MD či MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (také zahrnuje změny vyvolání externích příkazů)
ASSOC
FTYPE
Podrobnější informace získáte zadáním příkazu ve tvaru název_příkazu /? .
Opožděné rozbalování proměnných prostředí není ve výchozím
nastavení povoleno. Opožděné rozbalování můžete povolit nebo
zakázat pro dané spuštění příkazu CMD.EXE pomocí parametru /V:ON
nebo /V:OFF. Dále můžete povolit nebo zakázat opožděné
rozbalování všech spuštění příkazu CMD.EXE pro počítač nebo
relaci přihlášení uživatele tak, že nastavíte jednu nebo obě
následující proměnné typu REG_DWORD registru pomocí programu
REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
DelayedExpansion
nebo
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\
DelayedExpansion
na hodnotu 0x1 nebo 0x0. Nastavení uživatele má vyšší prioritu
než nastavení počítače. Parametry příkazového řádku mají vyšší
prioritu než nastavení v registru.
V dávkovém souboru mají argumenty SETLOCAL ENABLEDELAYEDEXPANSION
a DISABLEDELAYEDEXPANSION přednost před přepínačem /V:ON nebo /V:OFF.
Podrobnosti zobrazíte zadáním příkazu SETLOCAL /?.
Jestliže je opožděné rozbalování proměnných prostředí povoleno,
znak vykřičník lze použít k nahrazení hodnoty proměnné prostředí
při vykonávání příkazu.
Pro jednotlivá vyvolání programu CMD.EXE můžete ukončování názvů
souborů povolit nebo zakázat přepínačem /F:ON nebo /F:OFF.
Ukončování můžete povolit nebo zakázat pro všechna vyvolání
programu CMD.EXE v daném počítači nebo pro přihlašovací relaci
určitého uživatele nastavením některé z následujících hodnot
REG_DWORD (nebo obou hodnot) v registru pomocí programu REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\
PathCompletionChar
nebo
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\
CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\
PathCompletionChar
na šestnáctkovou hodnotu řídicího znaku, který chcete použít
pro příslušnou funkci (např. 0x4 je Ctrl-D a 0x6 je Ctrl-F).
Nastavení pro určitého uživatele má přednost před nastavením
pro daný počítač. Přepínače příkazového řádku mají přednost před
nastavením v registru.
Bude-li ukončování povoleno přepínačem /F:ON, bude pro ukončování
názvů adresářů použit řídicí znak Ctrl-D a pro ukončování názvů
souborů řídicí znak Ctrl-F. Chcete-li určitý ukončovací znak
zakázat v registru, použijte hodnotu pro mezeru (0x20), protože
to není platný řídicí znak.
Dokončení je vyvoláno zadáním jednoho ze dvou řídicích znaků.
Dokončovací funkce použije řetězec cesty vlevo od kurzoru,
připojí k němu zástupný znak (pokud jej cesta již neobsahuje) a
vytvoří seznam odpovídajících cest. Poté zobrazí první
odpovídající cestu. Pokud neodpovídá žádná cesta, funkce vydá
zvukové znamení a nezobrazí nic. Následná opakovaná zadání
řídicího znaku vyvolají postupné zobrazování odpovídajících cest.
Při současném stisknutí klávesy Shift a řídicího znaku bude
seznam procházen pozpátku. Jestliže řádek upravíte a stisknete
řídicí znak znovu, uložený seznam odpovídajících cest je nahrazen
nově vygenerovaným seznamem. Stejně tak je vygenerován nový
seznam, jestliže přepnete mezi dokončováním názvů adresářů a
souborů. Jediný rozdíl mezi oběma řídicími znaky je ten, že při
dokončování názvů souborů jsou generovány názvy souborů i
adresářů, zatímco při dokončování názvů adresářů jsou generovány
pouze adresáře. Pokud je pro libovolný integrovaný příkaz pro
práci s adresáři (CD, MD nebo RD) použito dokončování souborů,
automaticky se předpokládá dokončování adresářů.
Kód dokončovací funkce pracuje správně i pro názvy obsahující
mezery nebo jiné speciální znaky tak, že cestu umístí do
uvozovek. Jestliže kurzor přesunete zpět a vyvoláte dokončení,
text napravo od kurzoru je pro dokončení ignorován.
Speciální znaky vyžadující uvozovky jsou:
&()[]{}^=;!'+,`~