Seznam příkazů DOSu a DOSBoxu
Na této stránce najdete seznam nejdůležitějších příkazu DOSu, respektive DOSBoxu.
Pokud jste uživatelé Linuxu, asi se budete hodně divit, jak málo toho příkazy DOSu umí, v porovnání s Linuxovými bratříčky. Ale v 80. létech 20 století si stím šlo docela dobře vystačit. Výhoda je, že nemusíte studovat tak dlouhou nápovědu, jako bývá v manuálových stránkách na Linuxu :-).
Příkazy jsou seřazeny podle toho, jak by jste se je měli postupně učit používat v DOSBoxu. Tato stránka je součástí stránky o příkazech DOSu a DOSBoxu.
Další informace o příkazech DOSu najdete na computerhope.com/cmd.htm. Příkazy dostupné ve Widows jsou popsané na http://technet.microsoft.com/.
HELP
Příkaz help
v DOSBoxu vypíše seznam příkazů se stručným popisem toho, co příkaz dělá.
help /all
vypíše všechny příkazy (teda všechny úplně né,
chybí tam například mount
…).
Nápovědu k jednotlivým příkazům získáte tak, že je spustíte s parametrem
/?
, tj. například help /?
.
REM
Příkaz rem
slouží ke vkládání komentářů do dávkových souborů.
Všechno co napíšete za rem
je interpretem příkazů (DOSem)
ignorováno.
C:>
Všiměte si, že spuštěný příkaz rem
v konzoli neudělal vůbec nic,
což je přesně to, co měl udělat.
VER
Příkaz ver
vypíše verzi DOSu, kterou používáte.
Copyright (c) 2009 Microsoft Corporation. Všechna práva vyhrazena.
C:\Users\Petr>ver
Microsoft Windows [Verze 6.1.7601]
C:\Users\Petr>
V příkladu je zobrazen výstup programu cmd
ve Windows 7 po
spuštění (verze a copyright) a dále výstup příkazu ver
.
CLS
Příkaz cls
smaže obrazovku (DOSového okna).
Může se hodit ve skriptech, kdy chcete na konci skriptu smazat obrazovku
a poté vypsat nějakou důležitou hlášku pro uživatele (je tak větší šance, že
si jí všimne, když zůstane na obrazovce jediná). Nebo se spouštěním
tohoto příkazu můžete bavit za dlouhých zimních večerů :D.
EXIT
Příkaz exit
ukončí interpret příkazů (nebo dávkový soubor,
do kterého jej zapíšete).
Pokud máte otevřené okno s programem cmd
nebo DOSBoxu,
příkaz exit
jej uzavře. Pokud ale máte spuštěný počítač s
DOSem, tak nečekejte že exit
počítač vypne. Počitače s
DOSem se vypínají tlačítkem „power“ na skříni. (Jaký to barbarský zvyk!).
ECHO
Příkaz echo
vypíše své argumenty na obrazovku.
Můžte si ho samozřejmě vyzkoušet v konzoli, ale své uplatnění
bude mít spíše v dávkových souborech, nebo v sekci
[autoexec].
Příkaz echo
můžete také použit pro zapnutí/vypnutí
zobrazování prováděných příkazů (vypnutí provádění příkazů se hodí
znovu spíše v dávkových souborech).
Hello World
C:\Users\Petr>echo /?
Zobrazí zprávy nebo zapíná a vypíná zobrazování prováděných
příkazů.
ECHO [ON | OFF]
ECHO [zpráva]
Příkaz ECHO bez parametrů vypíše aktuální nastavení zobrazování.
C:\Users\Petr>echo off
echo jupi
jupi
echo on
C:\Users\Petr>
DIR
Příkaz dir
slouží k vypsání obsahu adresáře. Jeho výstup sedá ovlivnit
poměrně hodně parametry, takže si určitě prostudujte dir /?
.
Příkazu můžete zadat jako parametr adresář (nebo i jen soubor), který chcete vypsat, jako absolutní (začínající písmenem jednotky) nebo relativní cestu.
Můžete použít i tzv. wildcards
(česky někdy překládáno jako žolíky).
Wildcards jsou znaky se speciálním významem. Například „*
“ znamená
libovolný řetězec.
C:\>dir Games
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games
20.07.2012 22:54 <DIR> .
20.07.2012 22:54 <DIR> ..
13.04.2013 00:11 <DIR> World_of_Tanks
25.07.2012 18:46 <DIR> z
Souborů: 0, Bajtů: 0
Adresářů: 4, Volných bajtů: 53 227 888 640
C:\>dir c:\Games
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games
20.07.2012 22:54 <DIR> .
20.07.2012 22:54 <DIR> ..
13.04.2013 00:11 <DIR> World_of_Tanks
25.07.2012 18:46 <DIR> z
Souborů: 0, Bajtů: 0
Adresářů: 4, Volných bajtů: 53 227 888 640
C:\>dir Games\z\*.bat
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games\z
03.07.2002 08:55 47 Z.BAT
Souborů: 1, Bajtů: 47
Adresářů: 0, Volných bajtů: 53 228 007 424
Všiměte si, že adresáře jsou ve výpisu označeny jako <DIR>.
Na začátku jsou dva speciální adresáře: Tečka „.
“
označuje aktuální adresář a dvojtečka „..
“ rodičovský adresář
(adresář, ve kterém je umístěn aktuální adresář).
Historicky uměly DOSy pracovat jen s názvý souborů maximální délky osmi znaků
na název a tří znaků na příponu (souborový systém neumožňoval uložit delší
názvy souborů). S příchodem Windows 95 toto omezení padlo, ale kvůli zpětné
kompatibilitě DOS pracoval stále se soubory délky 8+3. Soubor jste tak mohli vidět
pod dvěma různými názvy – pod tím dlouhým z Windows (např. World_of_Tanks),
nebo pod zkráceným WORLD_~1.
DOSBox zobrazuje jen zkrácené názvy souborů a adresářů, interpret příkazů
ve Windows je možné nastavit, jestli chcete zobrazovat dlouhé nebo krátké názvy.
KEYB
Příkaz keyb
slouží v DOSBoxu k přepínání kódování klávesnice.
Keyboard layout cz loaded for codepage 852
C:> echo Píšu česky
Píšu česky
C:>keyb us
Keyboard layout us loaded for codepage 852
C:> P9su 4esky
P9su 4esky
V DOSu se tradičně přepínala klávesnice pomocí klávesové zkratky CTRL+ALT+F1
na primární jazyk (angličtinu) a CTRL+ALT+F2 na sekundární jazyk (češtinu).
Pokud pracujete s cmd
ve Windows, pak přepínáte jazyk tak jak
jste ve Windows zvyklí (nejspíše Levý ALT+Levý SHIFT).
MOUNT
Příkaz mount
slouží k namapování adresáře jako virtuální diskové
jednotky v DOSBoxu (ve „skutečných“ DOSech tento příkaz nehledejte).
Adresář který příkazem mount
připojíte se stane kořenovým
adresářem nové virtuální diskové jednotky. Programy spouštěné v DOSBoxu mají
přímý přístup pouze k souborům, které jsou v tako připojených adresářích
(a jejich podadresářích).
Drive C is mounted as local directory C:\Users\Petr\Dosbox
Po provedení příkazu z příkladu najdte všechny soubory v adresáři
C:\Users\Petr\Dosbox
dostupné z DOSBoxu v kořenovém adresáři disku C.
Mountovat můžte na jakékoliv písmeno anglické abecedy. (Jen písmeno Z už DOSBox využívá jako interní virtuální jednotku).
Když spustíte mount
bez parametrů, vypíše vám všechny přimountované
disky a na jaké adresáře jsou namapovány (včetně obrazů CD namapovaných
příkazem imgmount
.
Pro připojení obrazu CD (nebo DVD) jako virtuální jednotky použijte příkaz
imgmount
.
Příkaz mount
je jeden z horkých kandidátů na vložení do
sekce [autoexec] konfiguračního
souboru DOSBoxu.
C:
Pokud chcete pracovat se soubory na nějakém disku nebo CD, můžete sice vždycky zadávat absolutní cestu (začínající písmenem jednotky), ale to není zrovna nejpohodlnější. Lepší je se změnit aktuální jednotku na tu, se kterou chcete pracovat.
Do aktuální jednotky se přepnete zapsáním písmena jednotky a dvojtečky.
Z:\>C:
C:\GAMES>
Aktuální jednotka, potažmo aktuální adresář, ve kterém se zrovna nacházíte,
je zobrazen jako prompt, tj. text, který se zobrazuje před
místem, kde zadáváte příkazy (např. C:\Games\>
).
Všiměte si, že si DOS pamatuje pracovní složku na každém disku. Po přepnutí
na disk vás automaticky vloží do poslední pracovní složky. Pokud by jste
chtěli napsat za jednotku rovnou i adresář, do kterého se chcete přepnout (např.
C:\GAMES>
), tak to nefunguje :-).
V DOSBoxu můžete získat seznam všech jednotek příkazem mount
.
V DOSu, bohužel, tak snadno výpis všech jednotek nezískáte. Buď můžete
použít program fdisk
, pokud je dostupný (To je program, který
se používá na formátování disku. Tak opatrně s ním, ať si všechno nesmažete!),
nebo třeba Dos Navigátor,
který vám vypíše jména diskových mechanik v
levém dolním rohu každého panelu s výpisem souborů. Na obrázku vidíte
[C D Z *]
. Kliknutím myší na písmeno disku se přepnete
na onen disk.
MKDIR
Příkaz MKDIR
vytvoří nový adresář. Některé verze DOSu umí vytvořit
více adresářů a podadresářů najednou (pokud předáte příkazu MKDIR
správný parametr, zkuste MKDIR /?
pro více informací).
V DOSBoxu si budete muset vystačit s jedním vytvořeným adresářem na jeden příkaz.
Unable to make: dir1\dir2.
C:\>mkdir dir1
C:\>mkdir dir1\dir2
První pokus v příkladu nevyšel, druhý a třetí už správně vytvořily adresář
dir1
a v něm podadresář dir2
.
RMDIR
Příkaz rmdir
maže adresář, ale jen v případě, že je prázdný.
Pokud chcete smazat adresář i se všemi soubory, musíte příkazu předat
správný parametr, který zjistíte z nápovědy rmdir /?
.
DOSBox neumí mazat adresáře rekurizvně, takže dokáže mazat jen prázdné
adresáře (na to se vám může hodit například program Dos Navigátor).
Unable to remove: DIR1.
C:\>rmdir DIR1\DIR2
C:\>rmdir DIR1
První pokus o mazání adresáře se nezdařil, protože v adresáři DIR1
byl adresář DIR2
. Druhý a třetí pokus o mazání byl úspěšný.
CD
Příkaz cd
, nebo též chdir
neboli „change directory“
slouží ke změně aktuálního (pracovního) adresáře.
Příkazem cd
můžete měnit aktuální adresář na libovolné diskové
jednotce, ale tím se na jednotku nepřepnete. K tomu musíte použít
příkaz c:
.
C:\Games>cd ..
C:\>z:
Z:\>cd C:\Games
Z:\>c:
C:\Games>
cd
hrát, pozor v DOSBoxu
na bug 390.
Cestu můžete příkazu cd
zadávat buďto absolutně, tj. začínáte
písmenem jednotky a dvojtečkou, nebo relativně, tj. k vaší cestě se na
začátek automaticky „domyslí“ aktuální (pracovní) adresář.
Pro navigaci o úroveň výše můžete použít dvojtečku „..
“.
Aktuální (pracovní) adresář vidíte v promptu (to je ta část řádky, která je před místem, kde zapisujete příkazy).
IMGMOUNT
Příkaz imgmount
slouží k připojení obrazu disku jako
virtuálního disku v DOSBoxu. Můžete připojit obraz diskety (floppy),
CD nebo DVD (iso) nebo harddisku (hdd). Nejčastěji budete příkaz používat
pro připojení obrazu CD.
Obraz CD je, zjednodušeně řečeno, kopie CD jedna ku jedné. Nejedná se jen o zkopírování souborů z CD na disk, ale celého formátu CD (včetně souborového systému CD, jeho popisků atd) do jednoho jediného souboru. Obraz CD sloužil především jako mezikrok při vypalování, když jste měli k dispozici jen jednu vypalovačku – nejdříve jste si vytvořili ze zdrojového CD obraz a ten jste pak následně vypálili na nové prázdné CD.
Obraz CD/DVD používá v naprosté většině případů formát ISO.
Obraz CD si tedy můžete vytvořit pomocí vašeho oblíbeného vypalovacího programu, nebo jej můžete stáhnout z netu (například hra Command & Conquer se stahuje jako obraz CD).
Připojení obrazu CD namísto připojení CD-ROMu jako adresáře příkazem
mount
má své výhody. Jednak máte
obraz CD na disku v PC, takže jej nemusíte vkládat do CD-ROMu (přístup
k datům je pak taky samozřejmě rychlejší) a druhak některé hry vyžadují
přítomnost CD jednotky, protože kromě souborů z ní čtou sériové čísla CD,
bez kterých se odmítnou spustit (ochrana proti pirátství).
Při „mountování“ obrazu musíte uvést jeho formát (pro CD/DVD je to ISO). CD/DVD mechaniky je zvykem označovat písmeny E, F … (Některé staré programy dokonce vyžadují, aby byl CD-ROM připojen na písmeně E). Cesta k souboru obrazu je absolutní cesta z Windows/Linuxu, ne z DOSBoxu (kdyby jste si náhodou adresář s obrazem CD přimountovali, tak si to nepleťte).
Po té vší teorii, co jsem napsal, je příkaz imgmount
až překvapivě
jednoduchý:
Příkaz imgmount
je jeden z horkých kandidátů na vložení do
sekce [autoexec] konfiguračního
souboru DOSBoxu.
Další podrobnosti o příkazu imgmount
se dočtete
na oficiální stránce DOSBoxu o imgmount.
COPY
Příkaz copy
je obzvláště vypečený. Jak už název vypovídá,
slouží ke kopírování souborů, ale jeho chování je poněkud svérázné (zvláště
linuxový uživatelé budou rozčarováni).
Upřímě vám doporučuji, nezkoušejte použít příkaz copy
na kopírování více než jednoho souboru (adresářů) a raději kopírujte vše v Linuxu
nebo Windows, jak jste byli doteď zvyklí, nebo použijte
program Dos Navigátor. Alternativou je také program xcopy
,
který však v DOSBoxu nenajdete (v jiných verzích DOSu ano). Ten už zvládá kopírovat
adresáře tak, jak by jste čekali. Určitě si můžete xcopy
někde vygooglit, stáhnout
a používat v DOSBoxu, ale DOS Navigátor je na používání určitě příjemější.
Základní použití je jednoduché.
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games
14.04.2013 09:44 <DIR> .
14.04.2013 09:44 <DIR> ..
14.04.2013 09:44 <DIR> dir2
14.04.2013 07:40 7 test.rtf
Souborů: 1, Bajtů: 7
Adresářů: 3, Volných bajtů: 52 724 142 080
c:\Games>copy test.rtf test2.rtf
Zkopírované soubory: 1
c:\Games>dir
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games
14.04.2013 09:44 <DIR> .
14.04.2013 09:44 <DIR> ..
14.04.2013 09:44 <DIR> dir2
14.04.2013 07:40 7 test.rtf
14.04.2013 07:40 7 test2.rtf
Souborů: 2, Bajtů: 14
Adresářů: 3, Volných bajtů: 52 724 142 080
c:\Games>copy test2.rtf dir2
Zkopírované soubory: 1
Zatím všechno dobrý. Soubor test.rtf
se zkopíroval do souboru
test2.rtf
a pak se soubor test2.rtf
zkopíroval do adresáře
dir2
.
Teď si představte, že chcete zkopírovat adresář
dir2
pod nový název dir3
.
dir2\test2.rtf
Zkopírované soubory: 1
c:\Games>dir
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games\games
14.04.2013 09:44 <DIR> .
14.04.2013 09:44 <DIR> ..
14.04.2013 09:44 <DIR> dir2
14.04.2013 09:44 8 dir3
14.04.2013 07:40 7 test.rtf
14.04.2013 07:40 7 test2.rtf
Souborů: 3, Bajtů: 22
Adresářů: 3, Volných bajtů: 52 724 170 752
Vydíte dobře co se stalo? Příkaz copy
nezkopíroval adresář
dir2
, ale soubor dir2/test2.rtf
zkopíroval do souboru dir3
!
RENAME
Příkaz rename
přejmenovává soubor. Jako parametry mu předáte
jen starý název (může být absolutní cesta) a nový název (pouze název souboru).
MS-DOS příkaz rename
neumí přesouvat soubory z adrsáře do adresáře. K
tomu slouží příkaz move
. V DOSBoxu příkaz
rename
umí přesouvat soubory i mezi adresáři, takže v něm
pro změnu chybí move
.
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games
14.04.2013 07:57 <DIR> .
14.04.2013 07:57 <DIR> ..
14.04.2013 07:40 7 test.rtf
Souborů: 1, Bajtů: 7
Adresářů: 2, Volných bajtů: 52 730 470 400
C:\>rename Games\test.rtf novy_naz.rtf
C:\>dir Games
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games
14.04.2013 07:58 <DIR> .
14.04.2013 07:58 <DIR> ..
14.04.2013 07:40 7 novy_naz.rtf
Souborů: 1, Bajtů: 7
Adresářů: 2, Volných bajtů: 52 730 470 400
MOVE
Příkaz move
slouží k přesunu souborů a adresářů z adresáře
do adresáře, nebo k jejich přejmenování. V DOSBoxu příkaz move
není,
ale můžete místo něj použít příkaz rename
.
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games
14.04.2013 08:17 <DIR> .
14.04.2013 08:17 <DIR> ..
14.04.2013 08:17 <DIR> dir1
14.04.2013 07:40 7 test.rtf
Souborů: 1, Bajtů: 7
Adresářů: 3, Volných bajtů: 52 731 228 160
c:\Games>move test.rtf dir1
Přesunuté soubory: 1
c:\Games>move dir1\test.rtf dir1\novy_naz.rtf
Přesunuté soubory: 1
c:\Games>move dir1 dir2
Přesunuté adresáře: 1
c:\Games>dir dir2
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře c:\Games\dir2
14.04.2013 08:18 <DIR> .
14.04.2013 08:18 <DIR> ..
14.04.2013 07:40 7 novy_naz.rtf
Souborů: 1, Bajtů: 7
Adresářů: 2, Volných bajtů: 52 731 228 160
DEL
Příkaz del
maže soubory. Můžete jej použít s „žolíky“,
(viz příkaz dir
, kde jsou žolíci popsány).
Všechny soubory, které budou odpovídat argumentům příkazu del
budou smazány.
V DOSBoxu si příkaz del
neporadí s adresáři. Nevypíše ani
žádnou chybu, prostě je nesmaže. V programu cmd
se vás
del
zeptá, zda chcete vážně smazat celý adresář. Chování
del
je prostě závyslé verze od verze, takže si jej vyzkoušejte
a nezapomeňte použít del /?
.
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games
14.04.2013 07:42 <DIR> .
14.04.2013 07:42 <DIR> ..
14.04.2013 07:40 7 test.rtf
14.04.2013 07:42 0 test1.txt
14.04.2013 07:42 0 test2.txt
Souborů: 3, Bajtů: 7
Adresářů: 2, Volných bajtů: 52 732 854 272
C:\Games>del *.txt
C:\Games>dir
Svazek v jednotce C je Windows7_OS.
Sériové číslo svazku je E663-EC47.
Výpis adresáře C:\Games
14.04.2013 07:42 <DIR> .
14.04.2013 07:42 <DIR> ..
14.04.2013 07:40 7 test.rtf
Souborů: 1, Bajtů: 7
Adresářů: 2, Volných bajtů: 52 732 854 272
C:\Games>
SET
Příkaz set
slouží ke změně nebo výpisu
proměnné prostředí (v tomto odstavci najdete
ukázku použití příkazu set
).
Změna není trvalá, po ukončení interpretu příkazů (DOSu) se nikam
neuloží. Proto je vhodné dávat příkazy set
do
dávkového souboru autoexec.bat nebo do sekce
[autoexec] konfiguračního
souboru DOSBoxu.
Příkaz set
bez použití parametrů vypíše všechny proměnné
prostředí a jejich hodnoty.
PAUSE
Příkaz pause
vypíše Pokračujte stisknutím libovolné klávesy…
(nebo anglicky Press any key to continue. – to pak uživatelé hledají
klávesu s nápisem any
:-) a čeká až stisknete libovolnou klávesu.
Tento příkaz se hodí například při psaní dávkových souborů, když potřebujete na chvilku přerušit běh dávkového souboru, aby si uživatel mohl přečíst co jste mu vypsali na obrazovku.
Pokračujte stisknutím libovolné klávesy...
C:\Users\Petr>