InfoNu.nl > Pc en Internet > Programmeren > Batchbestanden!

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 - 2017 Duckness, het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
Microsoft Virtual PC is uitgekomen: een prima uitkomstMicrosoft Virtual PC is uitgekomen: een prima uitkomstEr bestaat ook een zeer krachtige virtuele omgeving voor Windows en het heet Microsoft Virtual PC 2007. Microsoft Virtua…
Het besturingssysteem Windows 7Veel computers (PC) hebben als besturingssysteem Windows 7. Windows 7 is de opvolger van het besturingssysteem Vista. Wi…
Xen: virtueel, gratis en efficiëntXen: virtueel, gratis en efficiëntXen zorgt via de techniek van paravirtualisatie voor een krachtige virtuele omgeving, waarin je software kunt uitprobere…
Windows 7: Gratis download Windows 7 en upgrade Windows 7Windows 7, het nieuwe besturingssysteem van Microsoft is gebaseerd op Windows NT en is de officiële opvolger van Windows…
Windows 7: de opvolger van VistaWindows 7 is de voorlopige naam van het nieuwe microft besturingssysteem. Deze opvolger van Windows Vista moet eind 2009…

Reageer op het artikel "Batchbestanden!"

Plaats een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Reacties

Jan van Stiphout, 17-11-2014 08:20 #3
Beste Maarten,

ik wil in ms dos een bestand in een directory kopiëren. Dit bestand wordt door een ander programma ingelezen. Het probleem is dat de naam van dit bestand een spatie bevat. Ik kan dit bestand wel hernoemen (met een? op de plaats van de spatie), en dan ook verplaatsen, maar ik kan de spatie niet meer terugkrijgen in de naam. Weet u een oplossing?

Vriendelijke groeten,
Jan.

Janet, 22-07-2010 15:42 #2
Heeft iemand een voorbeeld voor mij van standaard internet instellingen of van outlook?

Nyordyn, 15-05-2008 11:26 #1
@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:\backup Reactie 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

Infoteur: Duckness
Laatste update: 16-05-2008
Rubriek: Pc en Internet
Subrubriek: Programmeren
Reacties: 3
Schrijf mee!