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).
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:
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.
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
.
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í panely
→ Systé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.
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=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:
- rem Soubor z.bat v adresáři C:\bin\
- rem Přejdu do adresáře se hrou
- cd c:\z\
- rem Spustím hru. Raději napíšu celou cestu k souboru,
- rem aby se nespouštěl stále dokola tento skript (C:\bin\z.bat)
- 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.