La programmation des fichiers scripts sous les systèmes d'exploitation Microsoft a beaucoup évolué. Au départ, simple suites de commande sous les premières versions de MS-DOS, il permet un peu de programmation dans les versions livrées avec Windows 2000 et Windows XP.
Il existe deux modes d'exécution :
- Un mode interactif
- Un mode exécution de scripts
Dans le mode interactif, l'utilisateur tape les commandes qui sont exécutées immédiatement. Le mode script exécute une séquence de commandes définies dans un fichier batch.
À l'origine, le système MS-DOS fournit un interpréteur : command.[com](/fr/definitions/com)[type=embedded-definition]. Les programmes batch pour MS-DOS sont composés d'un ensemble relativement simple d'ensemble de commandes interprétées directement par command.com (commande interne) et des utilitaires qui existent en tant qu'exécutables séparés (commande externe).
Il existe des interpréteurs de commande plus évolués fournis par d'autres sociétés. Le plus connus est l'interpréteur 4NT (équivalent de 4DOS sous Windows NT).
Le système d'exploitation OS/2 comprend également un interpréteur de commande cmd.exe apparenté à celui de Windows NT.
Microsoft semble avoir abandonné les améliorations des fichiers batch pour se concentrer sur les scripts en VBScript ou Jscript permettant une programmation plus structurée et cohérentes avec les langages de macros de la suite Microsoft Office.
Avec le développement de Windows Vista, Microsoft a créé Windows PowerShell, basé sur la programmation orientée objet et Microsoft .NET. Finalement, il n'a pas été intégré à Vista et est disponible séparément.