Section courante

A propos

Section administrative du site

 Système d'exploitation  Utilisation  Tutoriel  Programmation  Emulateur  Annexe  Aide 
Amiga
Apple
CP/M / DOS
CoCo
Cray
Mainframe
Mobile
OS/2
TRS-80
UNIX
Windows
Autres
AmigaDOS
AmigaOS
MorphOS
Apple DOS
System 1.0
System 1.1
System 2.0
System 3.0
System 3.1
System 3.2
System 3.3
System 4.0
System 4.1
System 4.2
System 4.3
System 6.0
System 7.0
System 7.1
System 7.5
System 7.6
Mac OS 8.0
Mac OS 8.1
Mac OS 8.5
Mac OS 8.6
Mac OS 9.0
Mac OS 9.1
Mac OS 9.2
Mac OS X
Mac OS X Server
Apple DOS
Caldera DR-DOS 7
CP/M
CP/M-80
CP/M-86
DOS
DR-DOS
FreeDOS
IBM DOS 4
IBM DOS 5
MS-DOS
PC DOS
PTS-DOS
DR-DOS 5
DR-DOS 6
DR-DOS 7
MS-DOS 1.25
MS-DOS 2.0
MS-DOS 2.11
MS-DOS 3.0
MS-DOS 3.20
MS-DOS 3.21
MS-DOS 3.3
MS-DOS 4
MS-DOS 5
MS-DOS 6
MS-DOS 6.2
MS-DOS 7.10
PC DOS 1.0
PC DOS 1.1
PC DOS 2.0
PC DOS 2.1
PC DOS 3.0
PC DOS 3.1
PC DOS 3.2
PC DOS 3.3
PC DOS 4.0
PC DOS 4.01
PC DOS 5.0
PC DOS 6.1
PC DOS 6.3
PC DOS 7.0
PC DOS 2000
FLEX
OS-9
COS
UNICOS
OpenVMS
OS/390
OS/400
VAX/VMS
z/OS
Android OS
Bada
EPOC
PalmOS
Citrix Multiuser
eComStation
OS/2 Version 1
OS/2 Version 1.1
OS/2 Version 1.2
OS/2 Version 1.3
OS/2 Version 2
OS/2 Version 2.1
OS/2 Warp 3
OS/2 Warp 4
LDOS
MultiDOS
NEWDOS
TRSDOS
AIX
FreeBSD
HP-UX
Linux
QNX
SkyOS
Solaris (SunOS)
UNIX
XENIX
ReactOS
Windows 95
Windows 98
Windows Me
Windows NT 4.0 Server
Windows 2000 Professionnel
Windows 2000 Server
Windows XP
Windows Server 2003
Windows Server 2003 R2
Windows Server 2008
Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019
Windows Vista
Windows 7
Windows 8
Windows 10
Windows 11
FLEX
KolibriOS
Inferno
Medos-2
Oberon
Plan 9
p-System
RDOS
Introduction
Références de commandes et de programmes
Les premiers pas
Redirection et tuyau
Fichiers en traitement par lots
Éléments d'environnement
DISK-BASIC 2.0
MSX BASIC
MSX-C
MSX-DOS 2
RuMSX
Les messages d'erreurs
Préface
Notes légal
Dictionnaire
Recherche

Fichiers en traitement par lots

Lorsqu'une commande est donnée à MSX-DOS et qu'il ne s'agit pas d'une des commandes internes, un fichier de ce nom est recherché avec une extension COM ou BAT. S'il n'est pas trouvé dans le répertoire courant, le chemin de recherche courant est recherché (voir la commande PATH). Si un fichier COM est trouvé, il est chargé et exécuté. Si un fichier BAT est trouvé, le MSX-DOS démarre l'exécution du fichier de traitement par lots.

Un fichier de traitement par lots est un fichier texte contenant une liste de commandes, et ces commandes sont lues à partir du fichier une ligne à la fois et exécutées comme si elles étaient tapées au clavier. Plusieurs des commandes décrites dans la Référence des commandes et des programmes sont en fait fournies principalement pour être utilisées dans un fichier de traitement par lots, telles que ECHO et PAUSE.

Au fur et à mesure que chaque commande est lue, elle est normalement exécutée immédiatement. Un élément d'environnement ECHO existe, cependant, qui peut être réglé sur ON (avec la commande SET ECHO ON) pour que chaque ligne de commande soit affichée à l'écran avant son exécution. La ligne de commande est répercutée de cette manière après que la substitution du paramètre % ait eu lieu. La commande SET ECHO OFF rétablira l'état normal.

Dans la ligne de commande ayant invoqué le fichier de commandes, les paramètres peuvent suivre le nom du fichier de commandes comme n'importe quelle autre commande ou nom de programme transitoire. Ces paramètres sont accessibles n'importe où dans le fichier batch en spécifiant %0 à %9. %1 est le premier paramètre spécifié dans la ligne de commande, %2 est le second et ainsi de suite. %0 est le nom du fichier de traitement par lots lui-même. Le nombre % sera remplacé par le paramètre sur la ligne de commande d'origine et peut apparaître n'importe où sur une ligne de commande de fichier de traitement par lots. Pour utiliser réellement un symbole % sur une ligne de commande, un double % doit être donné ('%%') étant ensuite remplacé par un seul.

Si l'exécution d'une commande dans un fichier de commandes est interrompue prématurément pour une raison quelconque (généralement la touche CTRL+STOP ou CTRL+C enfoncée), le prompt suivante est émise :

Terminate batch file (Y/N)?

Si la réponse à ceci est 'Y', alors l'exécution de tout le fichier batch est arrêtée. Si la réponse est 'N', l'exécution du fichier de commandes se poursuit avec la commande suivante dans le fichier de commandes.

Une fois que MSX-DOS a exécuté une commande dans le fichier de commandes, il peut avoir besoin de lire la commande suivante dans le fichier de commandes hors disque. Si le bon disque n'est pas dans le lecteur lorsqu'il s'agit de le faire, un prompt est émise. Par exemple, le prompt suivante sera émise si le fichier de commandes a été exécuté à l'origine à partir de l'unité de disque A: :

Insert disk for batch file in drive A:
Press any key to continue...

Lorsque le bon disque a été inséré et qu'une touche a été enfoncée, l'exécution du fichier de commandes se poursuit normalement.

Ci-dessous se trouve un fichier de traitement par lots très simple, affichant juste les premiers paramètres :

ECHO Parametre 0 = %0
ECHO Parametre 1 = %1
ECHO Parametre 2 = %2
ECHO Parametre 3 = %3

S'il s'appelle MYBAT.BAT, la commande MYBAT a b c affichera :

Parametre 0 = MYBAT
Parametre 1 = a
Parametre 2 = b
Parametre 3 = c

Lorsque MSX-DOS démarre pour la première fois, un fichier de traitement par lots spécial appelé AUTOEXEC.BAT est recherché et exécuté s'il est trouvé. Celui-ci peut contenir n'importe quelle commande MSX-DOS et contient généralement des commandes d'initialisation uniques, telles qu'une commande RAMDISK pour configurer un disque RAM.

Un paramètre % est passé à AUTOEXEC.BAT en tant que %1. Il s'agit de l'unité de disque à partir duquel MSX-DOS a démarré et se présente sous la forme d'une lettre de l'unité de disque normale suivie de deux-points.

Un autre fichier de traitement par lots spécial est REBOOT.BAT. Ceci est exécuté lorsque MSX-DOS est redémarré après avoir utilisé DISK-BASIC. Comme avec les fichiers AUTOEXEC.BAT, le seul paramètre %1 passé est l'unité de disque à partir duquel MSX-DOS a été redémarré.

Habituellement, certaines commandes doivent être exécutées à chaque démarrage de MSX-DOS, que ce soit pour la première fois ou plus tard, et elles sont placées dans le fichier de commandes REBOOT. Ils peuvent ensuite être exécutés à partir du fichier de traitement par lots AUTOEXEC en le terminant avec la commande REBOOT %1. Un exemple de commande pouvant être placée dans le fichier de commandes REBOOT est la commande PATH pour configurer le chemin de recherche des commandes transitoires. Lors de la configuration du chemin de recherche à l'aide de la commande, %1 peut être utilisé pour configurer le chemin sur n'importe quel unité de disque à partir duquel le démarrage a été effectué.

Lorsqu'une commande dans un fichier de commandes est le nom d'un autre fichier de commandes, ce deuxième fichier de commandes est exécuté de manière normale. Lorsqu'il se termine, le contrôle revient à l'interpréteur de commandes interactif, et non au premier fichier de traitement par lots. Les commandes de fichiers de traitement par lots s'enchaînent ainsi.

Si l'on souhaite "imbriquer" le fichier de traitement par lots, c'est-à-dire. pour passer le contrôle au premier fichier de traitement par lots ci-dessus, cela peut être fait avec la commande COMMAND2 en passant le nom du deuxième fichier de traitement par lots comme paramètre. Ensuite, lorsque le deuxième fichier de traitement par lots se termine, le premier se poursuivra avec la commande après la commande COMMAND2.

Un fichier de commandes AUTOEXEC typique est le suivant :

ECHO Exécute AUTOEXEC
RAMDISK 100
RAMDISK
COPY COMMAND2.COM H:\
REBOOT %1

Un fichier de commandes REBOOT typique est le suivant :

ECHO Exécute REBOOT
PATH H:\, %1\UTILS, %1\BATCH
SET SHELL=H:\COMMAND2.COM
SET TEMP=H:\
SET PROMPT ON
H:

Lorsque le fichier de traitement par lots AUTOEXEC s'exécute, le message «Exécute AUTOEXEC» est affiché, puis un disque RAM est configuré avec une taille maximale de 100K. Une autre commande RAMDISK est alors donnée affichant la taille réelle du disque RAM créé. La commande COPY copie ensuite COMMAND2.COM sur le disque RAM afin qu'il puisse se charger et se recharger rapidement. Enfin, le fichier de commandes REBOOT est exécuté, avec le paramètre %1 (l'unité de disque de démarrage) lui étant transmis.

Le fichier de traitement par lots REBOOT affiche un message puis définit un PATH. Le premier élément du chemin fait référence au disque RAM ayant été créé par le fichier de commandes AUTOEXEC, et les autres éléments font référence aux répertoires sur le disque à partir duquel MSX-DOS a été démarré (c'est-à-dire %1). L'élément d'environnement SHELL est configuré de sorte que COMMAND2.COM puisse se recharger rapidement à partir du disque RAM, et l'élément d'environnement TEMP est configuré de sorte que des fichiers de tuyauterie temporaires soient créés sur le disque RAM. Le prompt est activée pour que le répertoire courant soit affiché comme prompt et, enfin, le disque RAM devienne l'unité de disque par défaut.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Jeudi, le 12 janvier 2023