Příkazy DOSu a DOSBoxu

Příkazy DOSu

Tady najdete příkazy DOSu. Ale které vlastně? MS-DOSu, DOSBoxu, DR-DOSu? Nebo programu cmd z Windows? A které verze? Odpověď zní: především DOSBoxu. Hodně příkazů je společných většině operačních systémů založených na DOSu. Někdy se chovají trochu jinak, někdy jsou dostupné až od určité verze DOSu. Tak nebuďte proto zoufalí, pokud některý příkaz ve svém DOSu nenajdete.

Většina příkazů v DOSu zobrazí nápovědu, pokud je spustíte s parametrem /?.

Příkazy DOSu jsou case-insensitive, tj. nejsou závyslé na velikosti písmen kterými je napíšete (je jedno jestli budete psát echo, Echo nebo ECHO).

C:\>rem /?
Add comments in a batch file.

REM [comment]

Z příkladu víše vidíte, že příkaz rem se používá pro vkládání komentářů do dávkových souborů. Z příkladu použití na poslední řádce vidíte, že komentář je nepovinný – je v hranatých závorkách.

Co jsou to vlastně parametry příkazové řádky? To je všechno, co se píše za název programu a mezeru. Parametry se oddělují mezerou. Pokud potřebujete zadat jeden parametr, který obsahuje mezeru, uzavřete jej "do uvozovek". To se může hodit zvláště ve chvíli kdy pracujete se soubory které mají v názvu mezeru.

Příkaz dir vypisuje obsah adresáře:

C:\>dir Program Files
 Svazek v jednotce C nemá žádnou jmenovku.
 Sériové číslo svazku je 183C-CAC3.

 Výpis adresáře C:\


 Výpis adresáře C:\

Soubor nebyl nalezen.
C:\>dir "Program Files"
 Svazek v jednotce C nemá žádnou jmenovku.
 Sériové číslo svazku je 183C-CAC3.

 Výpis adresáře C:\Program Files

01.03.2013  14:05    <DIR>          .
01.03.2013  14:05    <DIR>          ..
10.09.2009  17:06    <DIR>          Common Files
10.09.2009  17:05    <DIR>          ComPlus Applications
03.12.2012  17:40    <DIR>          Core Services
...
11.09.2009  11:58    <DIR>          Windows Media Player
11.09.2009  11:09    <DIR>          Windows NT
10.09.2009  17:08    <DIR>          xerox
               0 souborů,              0 bajtů
           Adresářů:    23,   Volných bajtů: 24 825 839 616

Seznam nejdůležitějších příkazů

Seznam nejdůležitějších příkazů je na samostatné stránce Seznam příkazů DOSu a DOSBoxu. Teď je možná ten správný okamžik si je prohlédnout, pak se sem vrátit a číst dále.

Proměnné prostředí (PATH)

Chování programů a příkazů lze ovlivnit tzv. proměnnými prostředí. Asi nejdůležitější proměnnou prostředí je PATH.

PATH ovlivňuje interpret příkazů (DOS). V PATH jsou středníkem oddělené názvy adresářů, kde se hledají spustitelné soubory. Pokud chcete spustit nějaký program nebo dávkový soubor který je v jednom z adresářů v proměnné PATH, stačí zadat jen jeho jméno (bez plné cesty k souboru) v jakémkoliv adresáři a DOS si ho už najde.

Spustitelné soubory poznáte podle přípony EXE, COM nebo BAT. Soubory EXE a COM jsou binární programy. Liší se mírně svou strukturou, ale stačí vědět, že COM soubory obecně zabírají méně paměti, jsou menší a rychlejší (někdy mají na starost sputit ty větší, EXE programy). Soubory BAT jsou tzv. dávkové soubory.
Programy můžete spouštět i bez zadání jejich koncovky, DOS pak hledá nejdříve program.bat, pak program.com a nakonec program.exe.

PATH

Proměnné prostředí se tradičně nastavovali v dávkovém souboru autoexec.bat, který se automaticky spouštěl po startu DOSu. V DOSBoxu se mohou vkládat příkazy do konfiguračního souboru do sekce [autoexec].

Ve Windows 7/Vista (a podobně i v XP) si můžete nastavovat proměnné prostředí přes Ovládací panelySystém a zabezpečeníSystém → a v pravém sloupici Upřesnit nastavení systému. Zobrazí se okno Vlastnosti systému a na záložce Upřesnit je button Proměnné prostředí.
Tam máte na výběr mezi úpravou uživatelských proměnných (aktuálně přihlášeného uživatele) nebo systémových proměnných (pro všechny uživatele).

Proměnnou PATH můžete nastavit přímo z příkazové řádky. Takové nastavení je platné jen do doby, než DOS (nebo příklaz cmd ve Windows) ukončíte.

Proměnné prostředí můžete vypsat příkazm echo, pokud jejich jméno zapíšete mezi procenta: echo %PATH%. V DOSBoxu vypíšete proměnnou prostředí příkazem set PATH.

Příklad nastavení proměnné PATH v DOSu (nebo v autoexec.bat):

SET PATH=%PATH%;C:\bin;.
SET PATH=C:\bin;.
echo %PATH%

Na prvním řádku v příkladu se nastaví PATH na původní hodnotu PATH, za kterou se přidá adresár C:\bin a aktuální adresář (ten se označuje tečkou).
Na druhém řádku se hodnota PATH přepíše na C:\bin;. (původní cesta v PATH je ztracena).
Třetí řádek proměnnou PATH vytiskne na obrazovku.

K čemu se PATH hodí

Jak už bylo napsáno, v PATH jsou středníkem oddělené názvy adresářů, kde se hledají spustitelné soubory.

Mohli by jste si do PATH zapsat všechny adresáře se hrami a programy, aby jste do nich nemuseli nejdříve vstupovat pomocí příkazu CD, ale mohli je spustit odkudkoliv.

Druhou možností, než donekonečna plnit PATH, je vytvořit si nějaký adresář (např. C:\bin) a do něj umisťovat dávkové soubory, které budou programy spouštět. To je výhodné ze dvou důvodů:
1) Některé hry se nespustí správně, pokud je spouštíte z jiného adresáře než toho jejich. Dávkový soubor může provést nejdříve příkaz CD a pak teprve program spustit.
2) Délka proměnné PATH nemůže být nekonečná a snadno se tak můžete dostat na její limit (zvláště ve starém DOSu).

Nastavení PATH se vám dnes může hodit nejen v DOSBoxu. Například, pokud jako programátor pracujete s MySQL z příkazové řádky, může se vám hodit do proměnné PATH vložit cestu ke klientovi mysql, mysqldump atp.

Dávkové soubory BAT

Dávkový soubor není nic jiného, než obyčejný textový soubor s koncovkou BAT.

Do dávkového souboru se zapisují příkazy, které se mají vykonat.

Dávkový soubor pro spuštění hry Z může vypadat takto:

  1. rem Soubor z.bat v adresáři C:\bin\
  2.  
  3. rem Přejdu do adresáře se hrou
  4. cd c:\z\
  5.  
  6. rem Spustím hru. Raději napíšu celou cestu k souboru,
  7. rem aby se nespouštěl stále dokola tento skript (C:\bin\z.bat)
  8. c:\z\z.bat             

Pokud bude adresář c:\bin\ v cestě PATH, spustí se hra Z zadáním příkazu z.bat, nebo jen z (bez přípony bat) z jakého koliv adresáře.

Ostatní

Nelze nezmínit, že toho v DOSu jde dělat mnohem více, než jen spouštět příkazy, programy a dávkové soubory. DOS má zabudovanou podporu pro programování (příkaz if a další), podporuje přesměrování výstupu do souborů (echo Hello World > prepisSoubor.txt nebo echo Hello World >> pridejDoSouboru.txt), atd. To už je ale nad rámec tohoto článku. Když už se mám věnovat příkazové řádce, tak raději té v Linuxu.

Komentář Hlášení chyby
Created: 26.7.2010
Last updated: 12.4.2013
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Prohlížením tohoto webu souhlasíte s používáním cookies. Dozvědět se více..