Příkazy pro operace se soubory

K základním operacím, které provádí každý uživatel, patří operace s diskovými soubory. Pro tyto účely jsou v DOSu tyto příkazy:

COPY kopírování a spojování souborů

DEL mazání souborů z disku

REN změna jména ( přípony ) soubory

TYPE výpis obsahu diskového souboru

VERIFY zapnutí kontroly správnosti při kopírování

LH zavede program do vyšší paměti a tam jej spustí

Kromě uvedených příkazů musí každý uživatel znát způsob spouštění programů, případně význam příkazu LOADHIGH ( LH ) pro zavedení programu do vyšší paměti.

Příkaz ke spuštění programu

Formát

[ d: ] [ cesta ] jméno

Programy a externí příkazy jsou uloženy v samostatných diskových souborech. Lze je chápat jako soubory strojových instrukcí, uložené na disku. Pro spustitelné programy jsou vyhrazeny přípony EXE nebo COM, podle vnitřní struktury programu.

Spustitelné dávkové soubory, ve kterých jsou uloženy posloupnosti příkazů operačního systému, mají příponu BAT.

Pokud spouštíme program, napíšeme na příkazový řádek jeho jméno a stiskneme klávesu <ENTER>. Operační systém prohledá pracovní adresář na pracovním disku a najde-li soubor definovaného jména s příponou COM, EXE nebo BAT, zahájí jeho provádění. Pokud DOS soubor nenajde v aktuálním adresáři, hledá jej postupně v adresářích specifikovaných proměnnou PATH. Pokud ani hledáním pomocí PATH neuspěje, vydá chybové hlášeníBad command or file name ( Špatný příkaz nebo jméno souboru )

Při spuštění programu můžeme před jménem souboru volitelně definovat označení disku a adresáře, ve kterém se soubor má vyhledat. Kompletní model příkazu volání je v následujícím textu uváděn jako Formát. Standardně se jméno programu při spouštění uvádí bez přípony EXE, COM či BAT.

Příklady

C>T602 <Enter>
Operační systém vyhledá v pracovním adresáři pracovního disku (popř. v adresářích určených proměnnou PATH) soubor pod názvem T602 s rozšířením EXE, COM nebo BAT. Je-li soubor nalezen, jeho obsah se načte do paměti a systém zahájí jeho provádění.

C>C:ADRESAR \ VIDEO <Enter>
Operační systém bude hledat program nazvaný VIDEO na disku C: v adresáři ADRESAR. Pokud v definovaném adresáři soubor existuje a má příponu BAT, EXE nebo COM, načte se jeho obsah do paměti a spustí se.

Příkaz COPY

Formát

COPY [ /A /B ] [ d: ] [ cesta ] soubor [ /A /B ] [ d: ][ cesta ] [ /V ] [ /A /B ]

COPY [ /A /B ] [ d: ] [ cesta ] soubor [ /A /B ] [+[ d: ] [ cesta ] soubor[ /A /B] ]+ ...

[ d: ] [ cesta ]soubor [ /V ] [ /A /B ]

Příkaz COPY kopíruje obsah definovaného souboru ze zdroje na cíl nebo spojí několik k zdrojových souborů do jednoho cílového. Způsob zápisu příkazu lze zjednodušit takto:

COPY zdroj cíl a nebo COPY " odkud a co " " kam a na co "

Ze způsobu zápisu je zřejmé, že v příkazu COPY se definují dva argumenty, první určuje zdroj a druhý cíl. Soubory se vždy kopírují ze zdroje na cíl. Každá specifikace může obsahovat označení diskové jednotky a adresáře. Ve specifikaci souborů lze použít náhradních znaků * a ? Povinným oddělovačem obou argumentů příkazu COPY je znak mezera.

Při kopírování je možné měnit jméno kopie, a proto se může kopírovat i v rámci jednoho adresáře. Nelze ovšem v jednom adresáři kopírovat soubor sám na sebe, tj. určení zdroje a cíle nesmí být stejné. Když nesplníte toto pravidlo, příkaz COPY vypíše zprávu:

File cannot be copied onto itself

0 file(s) copied

Pokud v cílovém adresáři existuje stejnojmenný soubor, jeho obsah se přepíše bez upozornění a bez možnosti obnovení původního. Příkazem COPY lze provést spojení více souborů do jednoho. Jako oddělovač spojovaných souborů se používá znaménko plus '+'. Není-li uvedeno jinak, výsledný soubor se pojmenuje stejně jako první soubor v řetězci. Pokud chceme založit nový soubor, do kterého se má uložit kopie vzniklá spojením souborů, musí se jeho jméno uvést v určení cíle.

Příkaz COPY může kopírovat soubory pouze z jednoho adresáře. Pokud je žádoucí kopírovat definované soubory i z podadresářů, je nutné použít příkaz XCOPY.

Při kopírování nebo spojování souborů můžeme volitelně vyjádřit vnitřní formát souboru pomocí parametrů /A a /B. Pokud se uvede parametr /A, se souborem se pracuje jako s ASCII souborem, obsah souboru se kopíruje pouze k první značce konce souboru ( CTRL + Z ). Tato značka se vkládá za poslední znak souboru. Pokud se uvádí parametr /B, kopíruje se celý soubor bez ohledu na případné znaky konce souboru, se souborem se pracuje jako s binárním. Implicitně se pracuje s parametrem /B. Jestliže se parametr uvádí před jménem souboru, platí pro všechny soubory následující do dalšího parametru. Jestliže se parametr uvede za jménem souboru, platí pouze pro soubor, který parametr předchází. Jestliže se parametr /A uvede za jméno cílového souboru, na konec souboru se připojí znak konce souboru. Pokud se parametr /A uvede v definici zdrojového souboru, obsah souboru se kopíruje po první znak konce souboru.

Správnost provedení kopie souboru se ověřuje volitelným parametrem /V. Parametr zapíná verifikaci kopírovaného souboru, nejedná se o porovnání obsahu souboru znak po znaku, ale o kontrolu prováděnou na úrovni kontrolních součtů. Význam parametru /V je stejný, jako když je nastaven příkaz VERIFY na ON.

Příklady

C>COPY A:TEXT1.TXT A:TEXT2.TXT /V <Enter>
Příkaz překopíruje soubor TEXT1.TXT z adresáře TEXTY na disketě v jednotce A do souboru TEXT2.TXT ve stejném podadresáři a provede kontrolu zapisovaných dat.

C>COPY TEXT1.TXT TEXT2.TXT /V <Enter>
Příkaz překopíruje soubor TEXT1.TXT z pracovního adresáře na pracovním disku, kopie se uloží do stejného adresáře pod názvem TEXT2.TXT. Parametr /V zajišťuje kontrolu správnosti provedení kopie.

C>COPY TEXT1.TXT TEXT2.TXT /A <Enter>
Příkaz překopíruje soubor TEXT1.TXT z pracovního adresáře na pracovním disku, kopie se uloží do stejného adresáře pod názvem TEXT2.TXT. Na konec nově vytvořeného souboru se připojí znak konce souboru CTRL + Z.

C>COPY /B *. EXE A:*.EXE <Enter>
Příkaz kopíruje všechny soubory s rozšířením EXE na disk A. Parametr /B definuje způsob kopírování - jako binární soubory.

C>COPY /A * . TXT A:*.TXT <Enter>
Příkaz kopíruje všechny soubory s rozšířením TXT na disk A. Parametr /A definuje způsob kopírování - jako ASCII textové soubory.

Příkaz COPY lze využít na kopírování na nebo ze zařízení. Zařízením může být tiskárna, konzola, sériové rozhraní apod. (LPT1, LPT2, LPT3, CON, COM1, COM2). Při kopírování na nebo ze zařízení způsobí parametr /B kopírování souboru v binárním tvaru, tzn. kopírují se i řídící znaky. Pokud se volba neuvede, soubor se kopíruje v .ASCII režimu a řídící znaky mají zvláštní význam.

C>COPY CON AUTOEXEC.BAT <Enter>
Příkaz kopíruje vstup z klávesnice do souboru AUTOEXEC.BAT. Každý řádek se musí ukončit stiskem klávesy <Enter>. Pouze poslední řádek se musí ukončit stiskem klávesy F6 nebo CTRL + Z, která generuje znak konce souboru. Vložení znaku konce souboru se musí potvrdit stiskem klávesy <Enter>.

Omezení a další možnosti příkazu COPY:

  1. Pokud se kopíruje soubor s atributem pouze pro čtení, kopie tento atribut nemá.
  2. Příkaz COPY nekopíruje soubory s nulovou délkou.
  3. Pokud chceme pouze změnit datum a čas souboru na právě aktuální hodnotu v systému, lze napsat příkaz:

C>COPY /b SOUBOR + , , <Enter>

Čárky vyjadřují vynechání parametru cíle.

 

Příkaz DEL

Formát

DEL [ d: ] [ cesta ] soubor [ /P ]

Příkaz DEL zruší definovaný soubor z pracovního nebo určeného adresáře a z pracovního nebo určeného disku. Stejnou funkci a formát zápisu má příkaz ERASE.

V definici jména a přípony souboru se mohou použít náhradní znaky ? a *. Pokud mají být vymazány všechny soubory ( příkaz DEL *.* ), zobrazí se dotaz:

All files in directory will be deleted!

Are you sure (Y/N)?

Na dotaz lze odpovědět stiskem klávesy Y nebo N a následně stiskem <Enter>. Po odpovědi "Y" se smažou všechny soubory, "N" ukončí příkaz bez mazání souborů. Mazat se musí opatrně, zejména při použití substitučních příkazů ASSIGN, JOIN, nebo SUBST. V těchto případech mohou být adresáře přesměrovány v jiných logických cestách.

Volitelný parametr /P způsobí vypisování dotazu před vymazáním každého souboru. Dotaz se vypisuje ve formátu:

soubor Delete (Y/N)?

Po odpovědi stiskem klávesy "Y" se soubor z disku vymaže. Odpovíme-li na dotaz stiskem klávesy "N", soubor se z disku nevymaže.

Vymazané soubory se z disku mohou obnovit pomocí příkazu UNDELETE. Obnovení souborů je možné pouze tehdy, jestliže po vymazání souborů nevytvoříme na disku nové.

Pro mazání obsahu celých adresářů je vhodné využít příkaz DELTREE.

Příklady

C>DEL A: *.* <Enter>
Příkaz zruší všechny soubory v hlavním adresáři na disketě v jednotce A. Před vlastním zrušením souborů se vypíše ověřovací dotaz: All files in directory will be deleted! Are you sure (Y/N)? Pokud odpovíte Y, soubory se vymažou, pokud odpovíte N, příkaz se neprovede.

C>DEL *.* /P
Příkaz bude postupně nabízet k mazání všechny soubory v pracovním adresáři. Před vymazáním souboru se vždy vypíše dotaz "DELETE (Y/N)". Pokud odpovíme stiskem klávesy Y, soubor se vymaže, jinak se přeskočí.

Příkaz ERASE

Formát

ERASE [ d: ] [ cesta ] soubor [ /p ]

Příkaz ERASE zruší jeden nebo více souborů z adresáře na disku. Funkce příkazu a způsob zápisu je stejný s příkazem DEL.

Příkaz REN (RENAME)

Formát

REN [ AME ] [ d: ] [ cesta ] soubor1 soubor2

Příkaz REN mění jméno diskového souboru na jméno definované ve druhém parametru. První parametr určuje staré jméno souboru, druhý parametr definuje nové jméno souboru. Jakákoli specifikace diskové jednotky a cesty přístupu, uvedená ve druhém parametru, se ignoruje. Oba parametry mohou obsahovat náhradní znaky * a ? Pokud se ve druhém parametru použije náhradních znaků, nahrazená část jména nebo rozšíření zůstane stejná jako v prvním parametru.

Pokud v adresáři již existuje soubor se stejným jménem jaké uvádí druhý parametr, příkaz soubor nepřejmenuje a vypíše zprávu:

Duplicate file name or file not found

Kromě příkazu REN lze jméno diskového souboru změnit pomocí příkazů COPY, MOVE a XCOPY.

Příklad

C>REN A:\STARY.TXT NOVY.TXT
Příkaz přejmenuje soubor STARY.TXT v hlavním adresáři diskety v jednotce A: na NOVY.TXT. Přejmenování proběhne korektně za předpokladu, že v adresáři neexistuje soubor se jménem NOVY.TXT.

Příkaz TYPE

Formát

TYPE [ d: ] [ cesta ] soubor

Příkaz TYPE zobrazí nebo vytiskne obsah zadaného diskového souboru na standardní výstupní zařízení. Obsah se zobrazí v neformátovaném tvaru, s výjímkou tabelačních znaků, které se převedou do 8 mezer. Veškeré formátovací znaky musí být obsaženy v souboru. Soubory, které nejsou textové, mohou být nečitelné. Standardně se pomocí příkazu realizuje výstup na obrazovku. Na jiné zařízení lze výstup přesměrovat pomocí některého ze způsobů přesměrování výstupu.

V definici souboru nelze využít náhradních znaků, soubor musí být vždy jednoznačně určen celým jménem a příponou.

Příklad

C>TYPE C:EDIT\CTI.MNE <Enter>
Příkaz vypíše na obrazovku obsah textového souboru CTI.MNE z adresáře EDIT na disku C:.

C>TYPE C: EDIT\CTI.MNE > PRN
Příkaz vypíše obsah textového souboru CTI.MNE z adresáře EDIT na disku C: na tiskárnu.

C>TYPE C:EDIT\CTI.MNE | MORE
Příkaz vypíše obsah textového souboru CTI.MNE z adresáře EDIT na disku C: na obrazovku, výstup se rozdělí do jednotlivých obrazovek, po naplnění každé obrazovky se čeká na stisk libovolné klávesy. Podmínkou provedení příkazu je existence systémového filtru MORE v pracovním adresáři, nebo v adresáři uvedeném v příkazu PATH.

Příkaz VERIFY

Formát

VERIFY [ON | OFF]

Příkaz VERIFY ON dává příkaz operačnímu systému k ověřování dat zapisovaných na disk, VERIFY OFF kontrolu dat vypne. Po každém zápisu na disk systém ověřuje, zda zapsaná data lze přečíst bez chyby. Zadání příkazu VERIFY bez parametru zobrazí právě nastavený stav. Při nastaveném VERIFY ON pracují operace zápisu na disk pomaleji.

Nastavení verifikace na ON má význam zejména při kopírování souborů příkazem COPY nebo XCOPY.

Příklad

C>VERIFY ON
Příkaz nastaví verifikaci zapisovaných dat na disk.

Příkaz LOADHIGH ( LH )

Formát

LH [ /L:region[,min] [;...] [ /S ] ] [ d: ] [ cesta ] soubor [ parametry ]

LOADHIGH [ d: ] [ cesta ] soubor [ parametry ]

Příkaz LH se používá k zavádění programů do rozšířené paměti. Jestliže je rozšířená paměť plná, program se načte do paměti konvenční.

Příkaz pracuje korektně pouze v případě, že je v souboru CONFIG.SYS uveden příkaz DOS=UMB. Druhou podmínkou je instalace ovladačů rozšířené paměti HIMEM.SYS a EMM386.EXE na počítačích s procesorem 80386. Oba ovladače se instalují v souboru CONFIG.SYS příkazem DEVICE.

Pokud se neuvádějí volitelné parametry /L a /S, systém načte program do největšího volného bloku, ostatní bloky nechá k dispozici jiným programům. Pro jeden program můžeme definovat několik regionů, oddělovačem čísel regionů je středník. Pomocí parametru /T, můžeme určit konkrétní blok, do kterého se má program načíst. Parametr /S zajistí optimální využívání paměti, musí se uvádět spolu s parametrem /L.