Batchbestanden en Ms-dos

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-DOS
Deel 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 MKDIR
    Een 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.
  • COPY
    Bestanden kopiëren (bestand per bestand).
  • XCOPY
    Bestanden 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.
  • RENAME
    Bestanden 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 OFF
    De 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 ONN
    De DOS-opdrachten die volgen op "echo on" worden wel getoond op het scherm.
  • ECHO <boodschap>
    De tekst na "echo" wordt op het scherm afgedrukt.
  • PAUSE
    De 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
  • REM
    De instructie REM voor een lijn in een batchbestand betekent dat deze lijn als commentaar beschouwd wordt. De lijn wordt niet uigevoerd.
  • DATE
    De systeemdatum opvragen en eventueel wijzigen.
  • TIME
    De systeemtijd opvragen en eventueel instellen.
  • CHKDSK
    Dit commando analyseert onder meer de inhoudstafel op de schijf en produceert op het scherm een gedetailleerd rapport over de status van de schijf.
  • PATH
    De aangegeven mappen worden één voor één afgetast als het gevraagde uitvoerbare programma zich niet in de actieve map bevindt.
  • DOSKEY
    Dankzij deze instructies is het mogelijk met de pijltjestoetsen de vorige commando's terug te roepen. Hiermee kan je enorm veel tijd besparen.
  • SET
    Met het commando SET kun je omgevingsvariabelen definiëren.
  • PROMPT
    De actieve directory wordt weergegeven. Vanaf DOS 6 wordt dit standaard al weergegeven op het scherm!
  • VER
    Toont de versie van het besturingssysteem dat gebruikt wordt.
  • TYPE
    Om 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 - 2008 Duckness, gepubliceerd in Programmeren (Pc en Internet) op 16-06-2007, laatst gewijzigd op 16-05-2008. Het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van Duckness is vermenigvuldiging van dit artikel verboden. Meer...

Verwante artikelen


Reageer op het artikel "Batchbestanden!"


Door Nyordyn op 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:windowswin.ini c:backup
copy c:windowssystem.ini c:backup
copy c:windowssystem32config*.sav c:backup Reactie infoteur op 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