Een van de oudste script talen is BATCH. De eerste
versie van Dos-batch ontstond al in Dos 1.0 en is sindsdien alleen maar verbeterd. Aan NT-Batch werden in de loop van de tijd nog meer extra commando's toegevoegd en bestaande zijn uitgebreid. Sinds kort is het zelfs mogelijk om
subroutines te gebruiken, iets wat voorheen nooit kon. Het grote voordeel van het gebruik van NT-batch als scriptaal is de alomtegenwoordige aanwezigheid. We hoeven ons nooit druk te maken of onze script intrepeter wel aanwezig is,
dit vermindert de kans op problemen door ontbrekende of niet volledige script intrepeters. Nadeel is wel dat ondanks alle toevoegingen vaak simpele zaken nog steeds niet goed afgehandelt kunnen worden.Desalniettemin is NT-batch
zeker inzetbaar voor bepaalde taken, met name door de recente toevoegingen die ik nog even de revue zal laten passeren.
Subroutines
Dit is jarenlang een groot gebrek geweest in NT-Batch. De truc om dit toch voor
elkaar te krijgen was altijd het aanroepen van andere batchfiles als 'subroutine' of een recursive truc te verzinnen in de uitvoerende batchfile door zichzelf aan te roepen met een switch.
De oplossing die door microsoft bedacht
is heeft wat weg van de laatste. Er wordt een 'call' gedaan naar een label waarbij NT dan de file nogmaals laadt en het statement direct na het label activeert. Door nu aan het eind van de 'subroutine' het commando 'goto :eof" te
geven wordt er weer uit de subroutine gesprongen.
GOTO :EOF
Onder meer gebruikt in de subroutine truc is dit commando ook bruikbaar om een batch subiet te beëindigen.
Variabelen bewerken.
Door
variabelen op een bepaalde manier aan te spreken kunnen er automatisch bewerkingen worden uitgevoerd. Als we een variabele met bijvoorbeeld %~nI aanroepen wordt de kale bestandsnaam uit een pad gevist. Microsoft heeft hiervoor
ondermeer leentje buur gespeeld bij de Bourne-Shell. Andere bewerkingen die onder meer mogelijk zijn is het halen van een subset uit een variabele en verbeterde rekenfuncties. Ook het aantal standaard variabelen is uitgebreid.
%date% en %time% kunnen nu onder meer gebruikt worden.
FOR
Dit is een ongekend krachtig commando geworden. Er kunnen nu uitgebreide bewerkingen op files en directories worden uitgevoerd, bijvoorbeeld het wandelen
door een directory boom om bepaalde fields op te sporen, of het uitlezen van een file en hier stukken data uit ophalen.