Batchbestanden!

MS-DOS was lange tijd het standaard besturingssysteem voor pc's. Hoewel de latere versies meer en meer mogelijkheden bevatten, blijft het een 16-bit besturingssysteemz onder ondersteuning voor meerdere gebruikers of multitasking. Alhoewel de Windows-besturingssystemen geavanceerder zijn, steunen ze tot en met Windows 98 nog steeds op de vroegere MS-DOS. Je kunt dan ook meestal (oudere) programma's die geschreven zijn voor MS_DOS, zonder problemen uitvoeren. Hieronder meer over batchbestanen.
MS-DOS heeft geen grafische interface zoals Windows. Om met het besturingssysteem te interageren moet je commando's intikken aan de DOS-prompt. Deze commando's komen uit een oude taal die alleen uit woorden en een aantal symbolen bestaat.

Een MS-DOS-commando bestaat uit een gereserveerd woord dat een specifieke betekenis heeft eventueel gevolgd door één of meerdere parameters. Het aantal de volgorde en de betekenis van de parameters verschilt van commando tot commando.

Je kan deze taal en dus zijn commando's nog steeds gebruiken in het zogenaamde DOS-venster van Windows. Je kunt enerzijds de opdrachtprompt keizen bij het opstarten, maar je kan ook vnauit de grafische interface van Windows XP een DOS-venster oproepen en hiermee eventueel het volledige scherm vullen door de toestencombinatie Alt+Enter.

Om de opdrachtprompt op te starten vanuit Windows XP ga je naar Start -> Uitvoeren (Run) -> 'cmd'. Je krijgt dan een klein zwart kadertje met een beetje tekst waarnaast je kan typen. Hier is waar de commando's moeten komen.

Batchbestanden

Om veelvoorkomende taken te automatiseren wordt vaak gebruik gemaakt van MS-DOS commando's die gecombineerd worden in een batchbestand. Een batchbestand is een tekstbestand dat enkel MS-DOS commando's bevat.

De extensie van dit bestand is '.bat'. Het is een uitvoerbaar bestand en zal door DOS dusdanig herkend worden door die extensie. De opdrachten worden in de volgorde waarin ze in het bestand voorkomen uitgevoerd.

Een belangrijk voorbeeld hiervan, het bestand Autoexec.bat werd in de vorige versies van Windows gebruikt om de opstartacties in volgorde te laten afwerken.

Batchbestanden worden meestal met het programma Edit van DOS of Kladblok van Windows geschreven. Als je ze met een professionele tekstverwerker schrijft, dan moet je het bestand als een tekstbestand bewaren. Er bestaan ook batch-editors, die specifiek gemaakt zijn om batchbestanden te creëren.

Windows Scripting Host

Een script is een andere naam voor opdrachten-bestand, dus voor een serie opdrachten die automatisch kunnen worden uitgevoerd. Het wordt meer gebruikt voor bestanden die geschreven zijn in een scripttaal: JavaScript, VBScript, ...

Twee grote nadelen van Batchbestanden:
  • Batchbestanden bestaan uit commando's die enkel gebruikt worden in DOS.
  • Deze taal maakt geen gebruik van objecten die bestaan in de objectgeoriënteerde besturingssystemen, zoals Windows XP
  • Daarom heeft Microsoft een nieuw product uitgebracht onder de naam Visual Basic script-taal. Deze taal maakt gebruik van verschillende objecthiërarchieën die verband houden met het besturingssysteem of de gebruikte toepassing. Bovendien wordt hier gebruik gemaakt van instructies, commando's en objecten uit de Visual Basic-taal.

    Enkele eenvoudige MS-DOS-commando's

    Deel van de lijst van Commando's in MS-DOSDeel van de lijst van Commando's in MS-DOS
    Om een lijst met alle DOS-commando's te krijgen die ondersteund worden typ je 'HELP' in het Commando venster. Wil je meer uitleg over een bepaald commando dan typ je 'HELP <commando>'. Dus als je bijvoorbeeld meer informatie wenst over het commando 'DIR' dan typ je 'HELP DIR'. Belangrijk om weten is ook wel dat hoofd- of kleine letters bij MS-DOS geen verschil maken!

    Bewerkingen met mappen en bestanden
  • A: of C: of D:Station A: of C: of D: of ... actief maken
  • MD (make directory) of MKDIREen nieuwe map aanmaken binnen de actieve map.
  • CD (Change Directory)Naar een bepaalde map gaan en deze actief maken.
  • RD (Remove Directory)Om een lege map te verwijderen.
  • DIR (Directory)De inhoud van de map tonen. Zonder parameter wordt de inhuod van de actieve map getoond.
  • DEL (Delete)Bestanden verwijderen.
  • COPYBestanden kopiëren (bestand per bestand).
  • XCOPYBestanden en de ingesloten mappen met hun inhoud kopiëren. Het commando xcopy werkt sneller aangezien het met een buffer werkt en niet bestand per bestand kopieert.
  • RENAMEBestanden een nieuwe naam geven waarbij eerst de oude naam en daarna de nieuwe naam vermeld wordt.
  • FORMAT A:De diskette in het station A: formatteren.
  • Schermbesturingsopdrachten
  • ECHO OFFDe commandoregels die volgen op "echo off" worden niet op het scherm getoond. De opdrachtregel @ECHO OFF toont ook de ECHO OFF-opdracht zelf niet.
  • ECHO ONNDe DOS-opdrachten die volgen op "echo on" worden wel getoond op het scherm.
  • ECHO <boodschap>De tekst na "echo" wordt op het scherm afgedrukt.
  • PAUSEDe uitvoering van het batchbestand wordt onderbroken, de boodschap "druk op een toets om door te gaan ..." wordt op het scherm getoond. Na het drukken van een willekeurige toets wordt de uitvoering van het batchbestand vervolgd.
  • CLS (Clear Screen)Deze opdracht wist het scherm.
  • Andere veel gebruikte DOS-commando's
  • REMDe instructie REM voor een lijn in een batchbestand betekent dat deze lijn als commentaar beschouwd wordt. De lijn wordt niet uigevoerd.
  • DATEDe systeemdatum opvragen en eventueel wijzigen.
  • TIMEDe systeemtijd opvragen en eventueel instellen.
  • CHKDSKDit commando analyseert onder meer de inhoudstafel op de schijf en produceert op het scherm een gedetailleerd rapport over de status van de schijf.
  • PATHDe aangegeven mappen worden één voor één afgetast als het gevraagde uitvoerbare programma zich niet in de actieve map bevindt.
  • DOSKEYDankzij deze instructies is het mogelijk met de pijltjestoetsen de vorige commando's terug te roepen. Hiermee kan je enorm veel tijd besparen.
  • SETMet het commando SET kun je omgevingsvariabelen definiëren.
  • PROMPTDe actieve directory wordt weergegeven. Vanaf DOS 6 wordt dit standaard al weergegeven op het scherm!
  • VERToont de versie van het besturingssysteem dat gebruikt wordt.
  • TYPEOm de inhoud van een bestand te tonen op het scherm.
  • Gebruik maken van parameters
    Bijna bij alle DOS-commando's kunnen parameters worden meegestuurd om extra mogelijkheden te creëren.

    Voorbeeld van een Batchbestand:
    Dit batchbestand kopieert enkele vitale bestanden naar de map 'Backup' op de C:/ schijf!
    @echo off
    md c:backup
    cd c:backup
    copy c:boot.* c:backup
    copy c:windowswin.ini c:backup
    copy c:windowssystem.ini c:backup
    copy c:windowssystem32config*.sav c:backup
    © 2007 - 2025 Duckness, het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming is vermenigvuldiging verboden. Vanaf 2021 is InfoNu gestopt met het publiceren van nieuwe artikelen. Het bestaande artikelbestand blijft beschikbaar, maar wordt niet meer geactualiseerd.
    Reacties
    Nyordyn, 15-05-2008
    @echo off
    md c:/backup
    cd c:/backup
    copy c:/boot.* c:/backup
    copy c:/windows/win.ini c:/backup
    copy c:/windows/system.ini c:/backup
    copy c:/windows/system32/config*.sav c:/backup

    Is dit niet fout? normaal gezien moet dit overal backslash (\\) zijn ipv een gewone slash (/)!

    Dit maakt:
    @echo off
    md c:\\backup
    cd c:\\backup
    copy c:\\boot.* c:\\backup
    copy c:\\windows\\win.ini c:\\backup
    copy c:\\windows\\system.ini c:\\backup
    copy c:\\windows\\system32\\config*.sav c:\\backupReactie infoteur, 16-05-2008
    Beste Nyordyn


    Dit is inderdaad een hele domme fout van mij! Heb ze dan ook meteen rechtgezet! Bedankt voor het melden!


    Mvg


    Maarten Cautreels