[ homepagina zonder frames ]    [ homepagina met frames ].
Naar de [ vorige logische pagina in deze reeks ]    Naar de [ volgende logische pagina in deze reeks ]

Dit document werd het laatst aangepast op 2 jul  2002
«DOSCOMM.HTM»

 
 
DOS  of  Disk  Operating  System was één van de drie nieuwe besturingssystemen die door IBM in 1981 geselecteerd werden om gebruikt te worden voor hun  Personal  Computer. Uiteindelijk heeft alleen DOS later nog verdere ontwikkeling gekend.
 
De naam DOS refereert naar de periode waarin voor het eerst gebruik werd gemaakt van floppy disks (oorspronkelijk 51/4 inch groot, éénzijdig en met een opslagcapaciteit van slechts 160 KB) voor opslag van programma's en gegevens voor microprocessoren.
 
Vóór die tijd moest de (amateur-)informaticus zijn programma's of bestanden nog opslaan via een analoog cassettebandrecordertje; wat zeer ongebruiksvriendelijk (o.a. alleen sequentiële toegang) en nogal onbetrouwbaar was. Dus ook niet meteen geschikt om bijvoorbeeld in bedrijven door secretariaatsmensen gebruikt te worden.
 
DOS was ook één van de eerste besturingssystemen voor microcomputers waarbij als extern geheugen een miniem hard schijfje gebruikt werd (miniem in de betekenis van opslagcapaciteit, vb. 10 MB, niet in de betekenis van fysieke omvang). Hiervoor moest men wel echter wachten tot versie 2.0 van DOS in 1983. Het is trouwens ook slechts vanaf versie 2.0 dat men in DOS kon werken met subdirectories.
 
Destijds (1981) bestond er wel reeds een besturingssysteem met dezelfde naam (DOS) maar dat was het besturingssysteem voor de mainframe computers van IBM waarbij men met, zowel wat betreft fysieke omvang als opslagcapaciteit, hele grote harde schijven, floppy disks en vooral veel magneetbanden werkte.
 
In de naamgeving van de diskdrive's onder DOS kan men nog steeds een zekere evolutie herkennen. In de eerste pc's trof men ten hoogste één drive aan, nl. een diskettestaton voor een floppy disk. Pas later kwamen er systemen met twee diskettestations, vandaar de noodzaak om die elk een aparte aanduiding te geven ( A:  voor de ene, B:  voor de andere). Pas later zijn de eerste harde schijven in pc's uitgebracht en deze kregen prompt de aanduiding C:. Ook wanneer er later meer pc's uitgebracht werden met slechts één diskettestation en één harde schijf, is men de C: aanduiding blijven gebruiken als verwijzing naar de eerste harde schijf in een systeem.
 
DOS voor de IBM-pc heeft zelf een indrukwekkende evolutie achter de rug. Omdat IBM aanvankelijk zelf nog niet zo'n hoge verwachtingen had voor hun pc, besteedden ze de ontwikkeling voor een 16-bit operating systeem voor de 8088 en 8086 INTEL-processoren uit aan drie verschillende bedrijfjes. Eén ervan, Microsoft, was oorspronkelijk alleen aangezocht om een reeks van programmeertools voor o.a. BASIC, FORTRAN en PASCAL voor de IBM-pc te ontwikkelen. Wanneer Bill Gates (destijds jonge snaak, wizzkid, mede-oprichter en mede-eigenaar van een klein en jong informatica-bedrijfje met de naam Microsoft) aan IBM duidelijk maakte dat één en ander nogal moeilijk was zolang ze niet wisten met welk operating systeem hun tools uiteindelijk overweg zouden moeten, stelde Bill voor om meteen ook zelf voor een operating systeem te zorgen. Microsoft kocht hiervoor een reeds bestaand systeem over, wierf een systeemprogrammeur aan die reeds veel ervaring met dat systeem en de nieuwe 16-bit processoren van Intel had, en liet dat systeem hier en daar nog wat aanpassen.
 
Bill en zijn companen waren zo slim geweest om hun besturingssysteem voor relatief weinig geld in licentie aan te bieden aan IBM (hij kreeg dus geld per pc die ermee uitgerust werd en deed dus geen afstand van zijn product voor bv. een éénmalige grote smak geld).
 
DOS heette vanaf versie 1.0 gewoon DOS of PC-DOS. Pas vanaf versie 1.1 werd er een IBM-versie en een Microsoft versie uitgebracht (de Microsoft-versie werd dan bv. door Compaq en andere pc-fabrikanten op hun IBM-compatibele pc's geïnstalleerd (Microsoft gaf deze versie de naam MS-DOS en gaf deze versie meteen versienummer 1.25 mee)). IBM van zijn kant, pastte de versie van Microsoft soms ook nog op enkele puntjes aan en gaf het de naam IBM-DOS.
 
Van alle pc's die zonder meer alle instructies en commando's van DOS perfect uitvoeren zegt men dat ze IBM-compatibel zijn. Dit wil niet zeggen dat ze intern alles op krak dezelfde wijze uitvoeren; hoe zo'n systeem de instructie intern afhandelt is in principe van geen belang, het resultaat moet echter wel hetzelfde zijn.
 
In de loop der jaren zijn er steeds verbeteringen aangebracht en serieuze upgrades van het oorspronkelijke systeem uitgebracht. Zo zijn enkele zeer goede versies lang in gebruik en goed gekend gebleven, vb. DOS 3.3, DOS 5.0 en als laatste MS-DOS 6.2.
 
 
 
Dos is een besturingssysteem ofte een operating system. Vandaar dat het ook de meeste taken van een operating sytem van zijn ontstaansperiode opneemt. Het is dus meer dan alleen maar een systeem om meerdere schijven aan te spreken vanuit een computersysteem.
 
Dos is destijds ontworpen als een "single-user", "single-task" operating system. Dus het is slechts ontworpen om op dezelfde computer slechts één gebruiker tegelijk te laten werken en deze gebruiker kan op zijn beurt slechts één programma tegelijkertijd draaien.
Opmerking: vrij snel heeft men ook onder Dos middeltjes voorzien om Dos toch ook nog enkele taken op de achtergrond te laten draaien terwijl de gebruiker met één hoofdprogramma bezig was (bv. het afdrukken van een groot document op de achtergrond terwijl de gebruiker ondertussen al een ander document kon ingeven).
 
Zoals zoveel andere operating systemen zal DOS:
 
Alhoewel DOS vaak verguisd is geworden, en een vroegtijdige dood was toegeschreven, heeft dit operating system van bij de aanvang een zeer hoge vlucht genomen en heeft het toch zeer lange tijd stand gehouden in een bijzonder snel evoluerende omgeving.
 
Dit zou niet mogelijk geweest zijn zonder enkele belangrijke voorzieningen die destijds behoorlijk nieuw waren in de wereld van de microcomputers. We lichten hieronder enkele van die sterke punten toe. Het zijn voorzieningen die momenteel, stuk voor stuk terug te vinden zijn in elk modern besturingssysteem (zij het vaak onder een andere vorm).
 
 
 
De processoren waarrond de IBM-pc destijds gebouwd werden (de Intel 8088 en 8086) konden maximaal 640 KB geheugenruimte adresseren (nvdr. dit lijkt nu belachelijk klein maar dat was voor een microprocessor ongelofelijk veel in die tijd).
 
Voordien had je alleen maar uitvoerbare bestanden (.com-bestanden) waarvan de programmacode (inclusief de ingesloten programmavariabelen) maximaal 64 KB mocht bedragen. Eénmaal ingeladen nam een .com programma verder beslag over alle andere vrije geheugenruimte die op dat moment beschikbaar was, tot wanneer het programma beïndigd was.
 
Door het programma-type .exe in te voeren, voorzag DOS in een systeem waarbij een programma 640 KB groot mocht zijn. Het programma werd opgedeeld in "segmenten" van elk 64 KB die niet noodzakelijk allemaal tegelijkertijd in het werkgeheugen aanwezig moesten zijn. Het eerste segment van een .exe programmabestand hoefde ook niet meer steeds op een vaste plaats in het geheugen opgeslaan te worden vooraleer het kon lopen. De programmacode, de gegevens en de stack konden op die manier ook over verschillende segmenten verspreid worden.
 
Kortom, via het programma-type .exe kregen programmeurs veel meer mogelijkheden om de capaciteiten van de "nieuwe" microprocessoren maximaler te benutten dan met de programma's van het .com-type.
 
 
 
Veel operating systemen moesten destijds telkens weer opnieuw herschreven (of tenminste deels herwerkt) worden om gebruik te kunnen maken van nieuwe hardware, of van hardware van een andere fabrikant.
 
Dit gebrek aan flexibiliteit heeft men vanaf het ontwerp van de IBM-pc zoveel mogelijk proberen te vermijden. In plaats van het operating systeem rechtstreeks te laten praten met de hardware creëerde men de mogelijkheid om het operating systeem via de bemiddeling van "device drivers" te laten communiceren met specifieke hardware. Deze bemiddelingssoftware ontvangt standaard DOS-commando's van het operating system en vertaalt deze naar concrete machine-instructies die door die specifieke hardware (bv. een CD-ROM) kan begrepen worden.
 
Het nadeel van deze tussenliggende laag is een ietwat verminderde performantie. Het grote voordeel is echter dat elke fabrikant die DOS goed kende, zijn apparaat kon laten samenwerken met DOS, zonder dat DOS iedere keer aangepast moest worden.
 
Vanaf versie 2.0 van DOS werd dan ook reeds expliciet voorzien in "installeerbare device drivers". Met andere woorden, vanaf die versie konden nieuwe device drivers (ontwikkeld door hardwarefabrikanten los van IBM of Microsoft) via een DEVICE-opdracht in het bestand CONFIG.SYS in DOS naadloos geïntegreerd worden.
 
Op die manier konden individuele gebruikers (of voldoende intelligente installatieprogramma's) de configuratie van DOS relatief eenvoudig aanpassen aan verschillende nieuwe soorten hardware van verschillende fabrikanten.
 
Dit systeem heeft zeker de ontwikkeling van nieuwe pc-onderdelen en randapparatuur enorm in de hand gewerkt (en er ook voor gezorgd dat nieuwe hardware vaak het eerst voor DOS ter beschikking kwam).
 
 
 
Vanaf het ogenblik dat DOS harde schijven kon aanspreken is er voorzien geweest in een systeem waarbij de gebruiker zelf zijn schijven logisch kon indelen in subdirectories, welke op hun beurt weer subdirectories konden bevatten enz. Op die manier konden de gebruikers (of de ontwerpers van software) hun bestanden overzichtelijk bij elkaar houden en afzonderen van andere soorten bestanden of programmagroepen.
 
De relatieve eenvoud van dit systeem en de grote vrijheid die de gebruiker daarbij had om zijn eigen drives in te delen naar eigen goeddunken mag allicht niet onderschat worden als enkele van de sterke punten van DOS, en zijn momenteel trouwens terecht in elk modern operatingsysteem terug te vinden.
 
 
 
Vanaf het begin was DOS ook voorzien van een simpel systeem om reeksen DOS-commando's vlot aan DOS door te geven, zonder ze telkens weer opnieuw (foutloos) te moeten intypen. Je kon die commando's namelijk in een eenvoudig(tekst-)bestandje opslaan en dit bewaren met de extensie .bat. Elk commando werd van het volgend commando gescheiden door een harde return (of regeleinde).
 
Dos had in zich een "batch-interpreter" die dergelijke batch-bestanden kon lezen en commando per commando uit het batch-bestand kon doorgeven aan DOS.
 
Hierdoor konden heel wat eenvoudige DOS-klussen als het ware geautomatiseerd worden (waarbij de gebruiker een beetje kon ontsnappen aan de dwingende eis van een commando-gericht operating system dat je elk commando foutloos en volledig moet intypen om te bekomen wat je wilt).
 
IBM-compatibele pc's deden trouwens van bij het begin beroep op deze mogelijkheid om via het uitvoeren van het batch-bestand AUTOEXEC.BAT, tijdens de opstartprocedure, allerlei configuratie-opdrachten iedere keer weer netjes en in de juiste volgorde te laten uitvoeren.
 
Omdat zowel de gebruiker als installatieprogramma's toegang hadden tot dit bestand kon men ook op die manier de pc flexibel naar zijn hand zetten.
 
 
De voorziene hardware-onafhankelijkheid en de "openheid" van DOS om de gebruiker toe te laten om zijn pc aan te passen aan zijn specifieke uitbreidingen en behoeften zijn ongetwijfeld zeer belangrijk geweest voor het "lange leven" dat DOS beschoren is geweest.
 
Elk van bovenstaande kenmerken vind je op de één of andere manier zeker terug in elk modern operating systeem.
 
 
 
Eén van de basiskenmerken van gewoon RAM-geheugen (in de betekenis van Read And Modify) is dat de inhoud van dit geheugen vluchtig is, m.a.w. van zodra de geheugeninhoud ervan niet meer tijdig "gerefresht" wordt (omdat men bv. de pc uitgeschakeld heeft, of omwille van een korte stroomonderbreking) is men de inhoud van dit geheugen definitief kwijt.
 
Om gegevens ook te bewaren wanneer de pc uit staat moeten ze in één of ander bestand op een "extern" geheugen opgeslagen worden (opmerking: ook een ingebouwde harde schijf in de pc noemt men toch een "extern" geheugen). Om deze gegevens achteraf terug te kunnen inlezen moet men dit bestand uiteraard ook weer uniek kunnen identificeren en aanspreken. Vandaar de noodzaak tot naamgeving van bestanden, en in het bijzonder de noodzaak tot een unieke bestandsnaamgeving binnen één computersysteem, zoniet dan zou het operating systeem nooit kunnen uitmaken op welk van alle bestanden met gelijke naam het een bepaald commando zou moeten uitvoeren.
 
 
 
DOS voorziet in een systeem van unieke bestandsnaamgeving binnen één computersysteem op basis van de concatenatie (= aaneenschakeling) van drie soorten gegevens, met name:
  1. de aanduiding van de drive waarop het bestand zich bevindt;
     
  2. de aanduiding van het pad (binnen voornoemde drive) waarop het bestand zich bevindt. Het pad is de opeenvolging van directories te beginnen van aan de root-directory van de drive tot en met de uiteindelijke directory waarin het bestand is opgeslaan;
     
  3. de bestandsnaam (binnen de laatste directory van voornoemd pad) die bestaat uit een eerste verplicht deel, en een tweede, facultatief deel: de extensie.
     
    In geval van aanwezigheid van een extensie wordt het eerste deel van de bestandsnaam door middel van een punt gescheiden van de extensie.
Voorbeeld:
 
A:\LESVOORB\INFO\BESTSYST\DOSUITL.TXT   waarbij:
 
 
Directory-namen zijn aan dezelfde regels onderworpen als bestandsnamen en kunnen daardoor bv. ook een extensie hebben. In de praktijk heb je dit in feite nooit nodig en kom je dat dan ook bijna nooit tegen.
 
Daarnaast werkt dat meestal alleen erg verwarrend. Niet doen dus.
 
Aan dezelfde map mogen nooit twee bestanden met dezelfde naam gekoppeld zijn, noch twee submappen met dezelfde naam. Maar ook een submap en een bestand met dezelfde naam mogen niet rechtstreeks aan dezelfde map gehangen worden.
Dit omdat DOS in zijn directorytabellen dezelfde ingangen gebruikt voor bestanden en mappen.
 
 
 
Om allerlei technische redenen is men in DOS niet geheel vrij in het kiezen van de bestands- of directorynamen (trouwens in de meeste besturingssystemen gelden steeds enkele beperkingen):
 
Sommige bestandsextensies hebben voor DOS een zeer duidelijke betekenis. Ze wijzen DOS op het feit dat deze bestanden een bepaalde inhoud en een bepaalde inwendige structuur hebben. Hierdoor weet DOS ook onmiddellijk hoe het met deze bestanden moet omgaan.
COM
afkorting van commando. Dit duidt er op dat het bestand een direct uitvoerbaar programma (instructies in machinetaal) van een zeker type bevat (bv. max. 64 KB met een bepaalde interne structuur, de eerste uivoerbare instructie staat steeds op offset 100(H)). Com-bestanden kunnen zeer snel door een computer ingeladen worden. De meeste externe DOS-commando's waren oorspronkelijk van dit type. Voorbeelden:
de COMMAND.COM zelf,  MODE.COM,  DISKCOPY.COM,  HELP.COM
EXE
afkorting van executable. Dit is ook een type direct uitvoerbaar programma (kan echter veel groter zijn dan 64 KB (tot 640 KB en heeft een ingewikkelder interne structuur dan een COM-bestand). Het wordt iets trager ingeladen dan een COM-bestand maar het kan de geheugenmogelijkheden van een processor veel beter benutten. Voorbeelden van exe-bestanden:
FIND.EXE,  PRINT.EXE,  MOVE.EXE,  WP.EXE,  DBASE.EXE
BAT
afkorting van batch. Dit wijst op een bestand met de structuur van een text-betand met daarin een reeks (= een stapel, vandaar batch) DOS-commando's. Voorbeelden:
AUTOEXEC.BAT, INSTALL.BAT
Wanneer we op de commando-regel van DOS het eerste deel van een bestandsnaam intypen dan zal DOS op zoek gaan naar een dergelijk bestand met als extensie BAT, COM of EXE. Als DOS een dergelijke overeenkomst vindt dan zal DOS dit batch-bestand of dat programma meteen beginnen uitvoeren.
 
Hieruit blijkt ook dat het voor DOS volstaat om het eerste deel van de naam van een programmabestand in te typen en op de entertoets te drukken om het te laten uitvoeren.
 
Wanneer een dergelijk programmabestand niet in de huidige of de aangegeven directory te vinden is dan gaat DOS ook nog op zoek in de reeks directories die opgesomd zijn in het PATH-commando (meestal opgenomen in AUTOEXEC.BAT, zie verder).
 
 
Verder hebben ook nog de extensies HLP en SYS een precieze betekenis voor DOS.
HLP
afkorting van help. Bevat een bestand met helptekst in een bepaald formaat dat op een vastgelegde manier moet uitgelezen worden (door middel van bv. helproutines van een toepassingsprogramma) Voorbeelden:
de DOSHELP.HLP van DOS zelf, EDIT.HLP het bestand met helpinformatie bij de teksteditor EDIT
SYS
afkorting van systeem. Bestanden met een zeer specifieke betekenis voor DOS. Meestal gebruikt tijdens de opstartfase van een pc (vb. MSDOS.SYS,   CONFIG.SYS)

Dit soort koppeling tussen de extensie van de bestandsnaam en de aard van het bestand, het opslagformaat van het bestand, of de bedoeling van het bestand, is ook door toepassingsprogramma's overgenomen en wordt momenteel algemeen toegepast.
 
Zo was .DOC oorspronkelijk de extensie voor tekstdocumenten die met WordPerfect aangemaakt waren (later overgenomen door Word). Zo is .XLS de extensie van een rekenblad aangemaakt volgens Excel-normen. PPT duidt op een bronbestand voor een Powerpoint presentatie en .JPG is de extensie voor grafische bestanden die volgens de standaards van de Joint Photographic Experts Group opgemaakt zijn.
 
Een vaak gebruikt type van bestand zijn de .INI -bestanden. Dit zijn meestal gewone txt-bestanden (zoals batch-bestanden, zonder tekenopmaak) maar met als inhoud alerlei (default-)waarden waarmee een bepaalde toepassing moet opgestart worden. Zo deed de eerste Windowsomgeving bijvoorbeeld steevast beroep op o.a. PROGMAN.INI om te weten met welke opties opgestart moest worden.
Momenteel heeft bijna elk toepassingsprogramma één of meerdere bijhorende .INI-bestanden.
 
Het leuke van dergelijke .INI-bestanden is dat deze via EDIT of KLADBLOK (notepad) te lezen en te wijzigen zijn. Iemand die dan over de nodige kennis beschikt kan dan daardoor in een aantal gevallen toepassingsproblemen opvangen of omzeilen. Echter alleen met kennis van zaken te gebruiken!
 
 
 
Bepaalde DOS-commando's kan je in één opdracht uitvoeren op meer dan één bestand, bijvoorbeeld bij het opvragen, verwijderen, afdrukken en verplaatsen van bestanden. In plaats van dan de verschillende bestandsnamen op te sommen doen we beroep op een soort sjabloon of patroon waaraan de bestandsnamen moeten voldoen. In DOS kan men voor het opmaken van deze patronen beroep doen op 2 types van wildcards:
*
het asterisk-teken vervangt één of meer tekens op rij die bestands- of directorynamen kunnen hebben.
 
Voorbeeld: A*.BAT staat dan voor alle documenten of directories waarvan het eerste deel van de naam begint met een letter A (onafhankleijk wat er al dan niet nog op volgt in dat eerste deel) en waarvan de extensie gelijk is aan BAT.
 
In dit voorbeeld zouden volgende bestanden zeker weerhouden worden: A.BAT,   AB24X.BAT,   ALGEMEEN.BAT
?
het vraagteken vervangt slechts één geldig DOS-teken. Dit is bijzonder handig als je bv. twijfelt aan de juiste schrijfwijze van een bestand, vb.   PRODUCT1.DOC  of  PRODUKT1.DOC . In dit geval zal   PRODU?T1.DOC  het één of het ander wel weerhouden (of in het bijzondere geval dat ze beide bestaan, zullen ze uiteraard beide weerhouden worden).

 
Nog enkele voorbeelden ter verduidelijking:
 
B?.*     weerhoudt alle bestanden waarvan het eerste deel juist twee karakters lang is en waarvan het eerste karakter een B moet zijn.
 
Via   WEEK1?T.DOC   selecteren we uit bijvoorbeeld een reeks documenten gaande van WEEK01T.DOC tot WEEK52T.DOC alleen de documenten gaande van WEEK10T.DOC t.e.m. WEEK19T.DOC.
 
Via   *.*   selecteren we alle bestanden en directories uit een bepaalde directory.
 
Via   *.   selecteren we alle bestanden en directories uit een bepaalde directory die GEEN extensie hebben.
 
Waarschuwing
 
Het gebruik van wildcards of jokertekens kan erg handig zijn bij het opzoeken van bestanden maar wordt ZEER GEVAARLIJK in combinatie met DEL, ERASE en andere destructieve dos-opdrachten. Alleen met een heldere geest gebruiken a.u.b.!

 
 
 
DOS wordt niet echt meer upgedated en heeft als besturingssysteem in een multimediale netwerkomgeving niet bijzonder veel toekomst meer. Nochtans blijft het belangrijk enkele basiscommando's van DOS te kennen. Bijzonder in die gevallen waar Windows 95, -98, NT, 2000, ME of XP het niet meer schijnen te doen.
 
Dan kan de opslossing er in bestaan dat je de pc opstart via een opstartschijfje waarmee alleen maar één of andere versie van DOS wordt opgestart. Als dat lukt dan kan je via enkele DOS-commando's het probleem van je pc proberen op te lossen (bv. nagaan of alle nodige opstartbestanden nog wel op de harde schijf aanwezig zijn; of een corrupt initialisatiebestand van Windows 98 herstellen) en daarna de pc weer opstarten in Windows.
 
Een volledige kennis van alle dos-commando's is hierbij niet nodig. Vooral de parate kennis van enkele eenvoudige bestandsbeheerscommando's is zeer handig (vooral omdat een probleem met je pc meestal onaangekondigd optreedt!).
 
Verder zijn er nog steeds een heleboel zeer nuttige programma's (weliswaar zonder toeters en allerlei multimediale bellen) die perfect hun taak doen en nog steeds kunnen draaien in een DOS-omgeving. Om compatibiliteitsredenen heeft Microsoft er steeds naar gestreefd om zoveel mogelijk van de oude DOS-programma's ook nog te laten werken onder hun nieuwe Windows operatingsystemen zoals Windows 95, 98, ME en XP. Veel DOS-programma's werken trouwens nog sneller in deze omgevingen dan in hun "native" DOS-besturingssysteem.
 
Het is opvallend dat de DOS-ondersteuning door XP blijkbaar verder gaat dan deze van Win 98 en ME.
 
Vandaar dat het ook wel eens de moeite loont om te weten hoe je aan die ingebouwde DOS-versie van de Windows-besturingssystemen geraakt.
 
Onder Windows 95 en 98 kan je een versie van DOS draaien door via
Start -> Programma's -> MS-DOS-promt te selecteren.
 
Bij Windows ME en XP zit deze optie al iets verder verscholen:
Start -> Programma's -> Bureau-accessoires -> MS-DOS-promt (bij Win ME) of C:Opdrachtpromt (bij Win XP).
 
Een DOS-venster onder Windows afsluiten doe je via het commando Exit.
 
 
 
 
Een DOS-commando bestaat meestal uit de naam van een dos-commando gevolgd door 0, 1 of meerdere parameters.
 
De naam van het dos-commando is meestal een afkorting van 3 tot 4 letters van de volledig uitgeschreven Engelstalige opdracht, vb. DIR is het commando om de inhoud van een DIRECTORY te laten zien.
 
Parameters bestaan vaak uit slechts 1 letter en geven aan welke opties uit het totaal gamma opties van dat commando moeten uitgevoerd worden.
 
Parameters worden meestal toegevoegd meteen na een gewone slash, vb. DIR /S waarmee gezegd wordt dat hier ook de inhoud van alle onderliggende (Sub-)directories moet weergegeven worden.
 
 
 
Dos-commando's geef je in op de dos-opdrachtregel wanneer DOS via het tonen van de systeemprompt of DOS-prompt aangeeft dat het systeem op een volgende opdracht wacht.
 
Enkele voorbeelden van typische DOS-prompts zijn:
A:\>_
A:\LESVOORB>_
C:\WINDOWS>_
C:\WINDOWS\SYSTEM>_
Het laatste teken (de "underscore" _ ) staat daarbij meestal te "blinken".
 
In de standaardvorm geeft de DOS-prompt informatie over welke drive de current drive is (zie verder) en welke directory de current directory is (zie ook verder). Het is mogelijk om de inhoud en het uitzicht van de standaard dos-prompt te wijzigen maar dit is in de praktijk uiterst zelden zinvol en meestal alleen verwarrend.
 
Een verprutste dosprompt kan je herstellen door het commando
prompt $P$G
in te geven.
 
Commando's en parameters scheid je best van elkaar door middel van een spatie (alhoewel dit niet steeds nodig is). Vb. DIR /P /S
 
Zolang je niet op de enter-toets drukte kan je het commando dat je ingeeft nog wijzigen. Pas na het indrukken van de enter-toets probeert dos het commando uit te voeren.
 
Het vorig ingegeven DOS-commando kan je in principe via de functietoets F3 terug laten verschijnen. Wanneer er ondertussen aan uw klavier ook enkele versnelde internettoegangen gekoppeld zijn, durft dit wel eens te falen.
 
Fervente DOS-gebruikers kunnen via een residentieel hulpprogrammaatje meerdere doscommando's terug opvragen en vlot editeren. Je installeert dit hulprogramma door het ingeven van het commando
DOSKEY
 
 
 
Wanneer de output van een dos-commando groter is dan wat er op één scherm getoond kan worden dan kan je onmogelijk alle informatie tijdig lezen. Bij de meeste DOS-opdrachten kan je echter kiezen uit volgende bijkomende parameters:  /P   of   |MORE om de informatie scherm per scherm aangeboden te krijgen. Heb je een scherm gelezen dan kan je via een druk op de enter-toets het volgende scherm krijgen.
 
Krijg je een niet te stuiten overvloed aan informatie dan kan je dat commando afbreken via de toetsencombinatie
Ctrl + C    Dit is een paardenmiddel dat de actieve dos-opdracht meteen stopzet.
 
 
 
Als gevolg van een dos-opdracht wordt er info naar het scherm teruggeschreven. De hoeveelheid van die info hangt af van het soort commando en de inhoud van uw bestandssysteem.
 
Vrij snel staat het dosscherm vol en wens je wel eens een "proper" leeg scherm te bekomen. Dit kan zeer eenvoudig door de dos-opdracht
CLS     (afkorting van Clear Screen) in te geven. Het scherm wordt gewist en de dosprompt vershijnt nu terug op de bovenste regel van het scherm.
 
 
 
Bij een  echt  DOS-systeem (vanaf DOS 5.0) kan men met de DOS-opdracht  HELP  een overzichtsscherm krijgen met alle DOS-opdrachten. Daar kan men per opdracht een veel uitgebreider helpscherm verkrijgen, met alle parameters en zelfs voorbeelden.
 
Je kan ook het commando HELP meteen laten volgen door de naam van het bedoelde commando en dan krijg je meteen het helpscherm over dat commando. Vb. HELP COPY
 
Bij Windows-versies (95, 98, ME) die een eigen versie van DOS draaien werkt deze vorm van de helpfunctie niet meer. Je moet daar dus zelf wel reeds het juiste commando kennen (in XP krijg je dan wel weer een alfabetische lijst met alle te gebruiken commando's met een beknopte omschrijving van hun functie).
 
Je kan echter steeds (bij gelijk welke Windows-versie) bijkomende uitleg over een bepaald commando vragen door het commando in te typen en het meteen te laten volgen door de helpparameter   /?.
 
Zo geeft DIR /? zowel onder DOS als onder Windows XP een beknopt overzicht van de functie van het commando, de syntax en de mogelijke parameters. En raar maar waar, met het commando DIR onder Windows XP kan je zelfs meer dan met DIR onder DOS zelf! Zoek eens uit.
 
 
 
Wanneer men de naam van een DOScommando foutief intypt en het wordt als dusdanig niet meer herkend (en ook niet als een ander uitvoerbaar programma of batchbestand) dan krijg je een foutmelding die iets zegt in de zin van
"Bad command- or filename" of
"De opdracht of bestandsnaam is onjuist" of
"Onbekende opdracht of bestand" of onder Windows XP
"xxx wordt niet herkend als een interne of externe opdracht, programma of batchbestand".
 
Even de juiste spelling van de dos-opdracht controleren is dan meestal de boodschap.
 
Het kan ook dat je teveel of te weinig spaties ingegeven hebt tussen de dos-opdracht en de parameters (of schakelopties) waarmee je de concrete werking van de opdracht wenst bij te sturen. Dan krijg je een foutmelding in de zin van
"Te weinig parameters" of
"Een vereiste parameter ontbreekt" of
"De syntaxis van de opdracht is onjuist" of
"Er zijn teveel paameters" of
"Teveel parameters voor deze opdracht".
 
Wat zal in dit geval de oplossing zijn?
 
 
 
Een ander vaak voorkomend probleem bij dos-commando's is dat je refereert (misschien gewoon door een typfout) naar een niet bestaand bestand, of naar een bestand dat niet op de current directory (zie verder) te vinden is. Dos regaeert hierop met een boodschap zoals
"File not found" of
"Bestand niet gevonden" of
"De map is ongeldig" of
"Het systeem kan het opgegeven bestand niet vinden."
 
Twee mogelijke oplossingen:
 

 
 

 
 
 
 
 
Zoek zelf eerst eens uit wat er zou gebeuren wanneer je volgende commando's zou ingeven:
 
CD DIRNAME
 
CD..
 
CD...
     (deze variant werkt niet op alle systemen)    
 
CD\
 
CD
 
CD\dirnam1\dirnam2\dirnam3

 
 
Bij het uitvoeren van een DOS-commando gaat DOS er steeds vanuit dat dit moet uitgevoerd worden op de bestanden of directories die rechtstreeks behoren tot de current directory. Tenzij je in het commando zelf reeds een andere bron- of doeldirectory aangaf.
 
De current directory is de directory die op het moment van het ingeven van het commando actief is. Om niet steeds de bron- of doeldirectory van een reeks DOS-commando's te moeten intypen kan je zelf een bepaalde directory current of actief maken via het commando  CD  afkorting van  Change Directory.
 
In plaats van current of actieve directory spreekt men ook hier vaak van default-directory, in de betekenis van "deze directory nemen bij gebrek aan een andere, expliciet aangegeven directory".
In sommige boeken en handleidingen wordt ook met de term working- of werkdirectory verwezen naar de current directory.
 
 
Wanneer je niet zeker bent dat de dos-prompt wel echt de current directory weergeeft dan kan je via het commando
CD      zonder enige parameter, even de current drive en directory (of pad) laten weergeven.
 
 
Afkorting van Change Directory
Functie Maakt een andere directory de current directory
(current = working = huidige = actieve)
Enkele parameters  
CD     zonder param Toont de current drive en current directory
 
CD  A:   drive-aand. Toont de current directory van het opgegeven station (in dit geval dus het eerste diskettestation; in dit geval zou er ook een disketje in dat station moeten zitten).
 
CD  DIRNAME Maakt de onderliggende subdirectory met naam DIRNAME actief
 
Opgelet: de directory DIRNAME moet reeds bestaan vooraleer hij actief gemaakt kan worden en moet een rechtstreekse subdirectory van de current directory zijn; zoniet krijg je een foutmelding die zegt dat de opgegeven directory ongeldig is.
CD  .. Maakt de bovenliggende directory actief.
CD  ...   of   \ Maakt de rootdirectory actief (de versie met ... werkt niet overal).
CD  \DIRNAME\TESTDIR Gaat onafhankelijk van wat de huidige current directory is de directory die met het volledig pad aangegeven is, current maken.
Enkele voorbeelden A:\>_CD  LESVOORB     zal er voor zorgen dat de directory LESVOORB die hangt aan de rootdirectory van het schijfje dat in drive A: zit de current directory wordt.
 
A:\LESVOORB\>_CD  FRANS     zal de subdirectory FRANS, die hangt aan de directory LESVOORB, die op zijn beurt een subdirectory is van de rootdirectory van het schijfje in station A: actief maken.
 
Speciaal Wat met spaties in mapnamen onder Windows 95 en verder?
 
Opdracht: zoek uit hoe je onder Windows 95 en hoger via de commandoregel een map met spaties in de mapnaam actief kan maken (bedenking: waarom zouden de belangrijkste systeemmappen van Windows nog steeds een maximum lengte van 8 tekens hebben?).
 
 
 
 

 
 
A:      eerste diskettestation of floppy disk drive
B:      tweede diskettestation of floppy disk drive
C:      eerste hard disk drive
D:      tweede hard disk drive, of eerste RAM-drive, of eerste CD-ROM speler
etc.
 
Bij het uitvoeren van een DOS-commando gaat DOS er ook steeds vanuit dat dit moet uitgevoerd worden op de bestanden of directories die rechtstreeks behoren tot de current directory van de current drive. Tenzij je in het commando zelf reeds een andere bron- of doeldrive aangaf.
 
De current drive is de drive die op het moment van het ingeven van het commando actief is. Om niet steeds de bron- of doeldrive van een reeks DOS-commando's te moeten intypen kan je zelf een bepaalde drive current of actief maken via het intypen van de drive-aanduiding; bij DOS is dit een letter gevolgd door een dubbel punt. Het dubbel punt niet vergeten!
 
In plaats van current of actieve drive spreekt men ook hier vaak van default of working-drive, in de betekenis van "deze drive nemen bij gebrek aan een andere, expliciet aangegeven drive".
 
Ook hier kan je via het commando
CD      zonder enige parameter, even de current drive en directory laten weergeven wanneer je niet zeker bent dat de dos-prompt wel echt de current drive weergeeft.
 
 
 
Afkorting van Directory
Functie Laat de subdirectories en bestanden (namen + andere gegevens) zien die rechtstreeks hangen aan de current directory, of de aangegeven directory
 
Zoek zelf voorbeelden van de "andere gegevens":
 
 
 
Enkele parameters  
  naam Laat de gegevens van alle bestanden en subdirectories zien die overeenkomen met de opgegeven naam.
 
DIR  AUTO*.*     zal alle bestanden en submappen weergeven die voldoen aan het patroon "AUTO*.*" (zie desnoods hoger voor het gebruik van wildcards).
  /W Geeft alleen de bestands- en directorynamen weer, geen verdere info zoals datum en tijdstip laatste wijziging. Hierdoor kunnen kolomsgewijs veel meer bestandsnamen en directories op één scherm weergegeven worden.
  /S Geeft ook informatie over alle bestanden en directories uit de onderliggende subdirectories weer. Handig om in één opdracht naar een bepaald bestand op een ganse harde schijf te zoeken.
 
DIR  FLUPKE.DOC  /S     doet DOS zoeken naar alle bestanden en mappen met de naam FLUPKE.DOC die hangen aan de current directory en alle andere onderliggende submappen.
Wanneer we er voor zorgen dat de root-directory de current directory is dan wordt met dergelijk commando meteen gezocht naar alle mappen en bestanden die FLUPKE.DOC heten op dat station (ongeacht de directory waartoe ze behoren).
  /ON
 
/OE
 
/OS
 
/OD
 
 
  /AA
 
/AD
 
/AH
 
/AR
 
/AS
 
 

 
 
Afkorting van Make Directory
Functie Maakt een nieuwe (sub)directory aan die rechtstreeks hangt aan de current directory, of de aangegeven directory
 
Opgelet: er mag nog geen bestand of subdirectory met dezelfde naam bestaan in de current of aangegeven directory.
Enkele voorbeelden A:\>_MD  LESVOORB     zal een directory LESVOORB aanmaken die hangt aan de rootdirectory van het schijfje dat in drive A: zit.
 
A:\LESVOORB\>_MD  FRANS     zal een directory FRANS aanmaken die hangt aan de directory LESVOORB, die op zijn beurt een subdirectory is van de rootdirectory van het schijfje in station A:
 
C:\WINDOWS\>_MD  A:\LESVOORB\TESTDIR     zal een directory TESTDIR aanmaken die hangt aan de directory LESVOORB -op voorwaarde dat de directory LESVOORB reeds bestaat-, die op zijn beurt een subdirectory is van de rootdirectory van het schijfje in station A:
In dit geval hebben we door het expliciet opgeven van een doeldrive en doelpad aangegeven dat de nieuwe directory niet aan de current directory moest gehangen worden, maar wel aan de opgegeven directory.

 
 
Afkorting van Remove Directory
Functie Verwijdert de opgegeven (sub)directory die rechtstreeks hangt aan de current directory, of het aangegeven pad
 
Opgelet:
 
1   bij de oudere dos-versies mocht de te verwijderen directory zelf geen enkel bestand of submap meer bevatten. Dit ter voorkoming van onbedoeld deleten van files en folders. Alleen met verstand te gebruiken dus!
 
2   de te verwijderen directory mag zelf niet current zijn op het ogenblik van zijn verwijdering. Dos beschouwt dit als zitten op de tak die je afzaagt.
 
Enkele voorbeelden A:\LESVOORB\>_RD  FRANS     zal de directory FRANS verwijderen die hangt aan de directory LESVOORB, die op zijn beurt een subdirectory is van de rootdirectory van het schijfje in station A:
 
A:\>_RD  LESVOORB\FRANS     doet hetzelfde als het commando hierboven, maar nu terwijl de rootdirectory van A: actief is; dus dit zal de directory FRANS verwijderen die hangt aan de directory LESVOORB, die op zijn beurt een subdirectory is van de rootdirectory van het schijfje in station A:
 
A:\>_RD  LESVOORB     zal de directory LESVOORB verwijderen die hangt aan de rootdirectory van het schijfje dat in drive A: zit.
 

 
 
Functie Kopieert het opgegeven bronbestand en bewaart deze kopie in een aangegeven doeldirectory onder de aangegeven doelbestandsnaam
 
Met dit commando kunnen we dus een bestand kopiëren:
  • in dezelfde directory maar onder een andere naam (uniciteit van pad en bestandsnaam!);
     
  • naar een andere directory, onder dezelfde of onder een andere dan de oorspronkelijke bestandsnaam.
Opmerkingen
  • gebruik van wildcards kan hier zeer efficiënt werken;
     
  • indien het opgegeven bronbestand niet gevonden wordt zal Dos een foutmelding geven;
     
  • indien bij het bronbestand verwezen wordt naar een andere dan de current directory en er wordt geen doelbestand opgegeven dan zal het bronbestand onder dezelfde naam naar de current directory gekopieerd worden;
     
  • indien men in het commando een doelbestand opgeeft dat reeds bestaat, dan wordt het reeds bestaande bestand, zonder waarschuwing vervangen door de verse kopie van het bronbestand. Dangerous!
Enkele voorbeelden A:\LESVOORB\>_COPY  LESMODEL.DOC  LESMODEL.BAK     zal het bestand LESMODEL.DOC dat op de directory A:\LESVOORB te vinden moet zijn, kopiëren in dezelfde directory maar onder de naam LESMODEL.BAK (indien er reeds een bestand LESMODEL.BAK in deze directory bestond wordt het overschreven met deze nieuwe versie).
 
A:\LESVOORB\FRANS>_COPY  A:\LESVOORB\LESMODEL.DOC     zal het bestand LESMODL.DOC dat op de directory A:\LESVOORB te vinden moet zijn, kopiëren in de dirctory FRANS onder de naam LESMODEL.DOC (indien er reeds een bestand LESMODEL.DOC in deze directory bestond wordt het overschreven met deze nieuwe versie)
 
A:\>_COPY  LES*.DOC  C:\LESVOORB     zal alle bestanden die beginnen met de letters LES en extensie DOC heben, en die aan de rootdirectory van de schijf in station A: hangen, kopiëren naar de directory LESVOORB, die een subdirectory moet zijn van de rootdirectory van de C-schijf.
 

 
 
Functie Wijzigt de naam van het een opgegeven bestaand bestand in de nieuwe naam.
 
Hierdoor wijzigt de inhoud van het bestand hoegenaamd niet, wat niet wil zeggen dat er geen gevaar kan schuilen in het wijzigen van een bestandsnaam: elke andere verwijzing naar de oude bestandsnaam moet desnoods mee aangepast worden, of het operating systeem zal het "oude" bestand niet meer terugvinden.
 
Als we bijvoorbeeld het bestand PRINT.EXE hernoemen in AFDRUKKN.EXE dan zal het commando PRINT uiteraard niet meer werken. Eenzelfde probleem doet zich voor wanneer je PRINT.EXE zoudt hernoemen naar PRINT.XXX .
 
De moraal van dit verhaal is dat je best alleen van zelf aangemaakte bestanden de naam wijzigt. Systeem- en programma-bestanden ga je alleen met heel specifieke bedoelingen wijzigen. Alleen met een helder hoofd te gebruiken dus!
 
Hetzelfde geldt trouwens voor het verplaatsen van bestanden van de ene naar een andere directory.
Opmerking ook hier kan het gebruik van wildcards zeer efficiënt werken.
Enkele voorbeelden A:\LESVOORB\>_REN  LESMODEL.DOC  LESMODEL.BAK     zal het bestand LESMODEL.DOC dat op de directory A:\LESVOORB te vinden moet zijn, hernoemen (in dezelfde directory) tot LESMODEL.BAK .
 
A:\LESVOORB\FRANS>_REN  *.DOC  *.BAK     zal alle bestanden die rechtstreeks behoren tot de directory FRANS en als extensie DOC hebben hernoemen naar .BAK bestanden.
 

 
 
Functie Verwijderen van het een opgegeven bestand (of groep bestanden).
 
Opgelet: slechts in heel weinig gevallen kan een door Dos verwijderd bestand terug gerecupereerd worden. Ook bij andere operating systemen is het verwijderen van een bestand een actie die weloverwogen moet uitgevoerd worden!
 
Opmerking Ook hier kan je wildcards gebruiken. Het vermaledijde  DEL  *.*   heeft echter al bij velen tot vroegtijdige haaruitval geleid!
Enkele voorbeelden A:\LESVOORB\>_DEL  LESMODEL.DOC     zal alleen het bestand LESMODEL.DOC dat op de directory A:\LESVOORB te vinden moet zijn, verwijderen.
 
A:\LESVOORB\>_DEL  *.BAK     zal alle bestanden die rechtstreeks behoren tot de directory LESVOORB en als extensie BAK hebben verwijderen.
 
A:\LESVOORB\>_DEL  *.*     zal alle bestanden die rechtstreeks behoren tot de directory LESVOORB verwijderen.
 

 
 
Functie De inhoud van een bestand op scherm laten zien.
 
Opgelet: dit is slechts zinvol met bestanden met een interne opmaak die vergelijkbaar is met die van een .txt bestand, t.t.z. waarbij de inhoud via de standaard (lower)ASCII-tabel-tekens weergegeven wordt. Voorbeelden zijn de echte .txt bestanden, batch-bestanden en de meeste .ini-bestanden.
 
Programmabestanden (.com, .exe, .dll) zijn rechtstreeks in machinetaal opgemaakt en dus niet zomaar op scherm te lezen. Ook opgemaakte tekstbestanden zoals .DOC bestanden kan je niet goed op scherm weergeven via het TYPE-commando.
Enkele voorbeelden C:\>_TYPE  AUTOEXEC.BAT     projecteert de inhoud van het bestand AUTOEXEC.BAT dat op de rootdirectory van C: te vinden moet zijn.
 
C:\>_TYPE  CONFIG.SYS  |MORE     projecteert de inhoud van het bestand CONFIG.SYS, scherm per scherm, dat op de rootdirectory van C: te vinden moet zijn.
 

 
 
Functie De inhoud van een bestand afdrukken.
 
Opgelet: ook dit is slechts zinvol met bestanden met een interne opmaak die vergelijkbaar is met die van een .txt bestand, t.t.z. waarbij de inhoud via de standaard (lower)ASCII-tabel-tekens weergegeven wordt. Voorbeelden zijn de echte .txt bestanden, batch-bestanden en de meeste .ini-bestanden.
 
Programmabestanden (.com, .exe, .dll) zijn rechtstreeks in machinetaal opgemaakt en dus niet af te drukken. Ook opgemaakte tekstbestanden zoals .DOC bestanden kan je via het PRINT-commando van Dos niet goed afdrukken.
Enkele voorbeelden C:\>_PRINT  AUTOEXEC.BAT     drukt de inhoud van het bestand AUTOEXEC.BAT af dat op de rootdirectory van  C:  te vinden moet zijn.
 
A:\>_PRINT  README.TXT     print de inhoud van het bestand  README.TXT  dat op de rootdirectory van  A:  te vinden moet zijn.
 

 
 
Zelf aan te vullen
 
Functie  
 
 
 
 
 
Enkele voorbeelden  
 
 
 
 
 
 
 
 
 
 

 
 
Zelf aan te vullen
 
Functie  
 
 
 
Voorbeeld  
 
 
 

 
 
Zelf aan te vullen
 
Functie  
 
 
 
Voorbeeld  
 
 
 

 
 
Zelf aan te vullen
 
Functie  
 
 
 
 
 
 
 
 
 
 
 
Voorbeeld  
 
 
 

 
 
In vergelijking met recente besturingssystemen houdt DOS enkele serieuze beperkingen in. We sommen hier enkele van de belangrijkste op:

Naar de [ homepage zonder frames ]    naar de [ homepagina met frames ].
Naar de [ vorige logische pagina in deze reeks ]    Naar de [ volgende logische pagina in deze reeks ]
 
Voor commentaar, vragen of suggesties i.v.m. deze pagina ben je steeds welkom bij [ Lucas De Cocker ], lector mediakunde en informatica, K.L. Ledeganckstraat 8, B-9000 Gent. [ E-mail = Lucas.DeCocker@Hogent.be ].
 
Het gebruik van dit document is onderworpen aan de wetten op het auteursrecht ©. Wens je deze inhoud (of delen ervan) te kopiëren of op een andere manier te vermenigvuldigen, aarzel dan niet om met mij contact op te nemen.