Cet article possède unparonyme, voirProduction par lots.

Cet article présente des problèmes à corriger.
Vous pouvez aider àl'améliorer ou bien discuter des problèmes sur sapage de discussion.
Eninformatique, untraitement par lots (batch processing en anglais) est un enchaînement automatique d'une suite de commandes (processus) sur unordinateur sans intervention d'unopérateur[1].
Une fois que ce processus est terminé (quel que soit le résultat), l'ordinateur traite le lot suivant. Le traitement des lots se termine une fois que tous les lots de lapile ont été exécutés.
Les premiers ordinateurs nécessitaient qu'un opérateur recable celui-ci entre chaque instruction. Plus tard, un ordinateur était capable de lire les instructions depuis unebande magnétique ou une carte perforée et exécuter les différentes instruction qui s'y trouvaient sans nécessiter la présence d'un opérateur. Ce traitement par lots a apporté un gain significatif dans l'ergonomie et l'efficacité des ordinateurs. Un lot d'instructions est donc l'ancêtre de ce qu'on appelle aujourd'hui un programme.
Lorsque les systèmes multitâches et les invites de commande sont apparus, le vocable de << traitement par lots >> a été repris pour désigner lesscripts de terminal.
Le déclenchement de ces traitements peut ainsi être automatisé, par exemple grâce au programmecron dans un systèmeUnix. Les traitements par lots sont surtout utilisés pour des tâches automatisées, notamment pour la gestion des comptes sur le parc informatique d'une entreprise, d'une université… Les travaux lancés en lots n'utilisent que les cyclesprocesseur non utilisés par les travaux interactifs. Les lots ont donc toujours une priorité d'exécution plus basse que les interactifs mais en revanche un temps d'exécution (time slice) plus élevé que les interactifs de façon à rester en mémoire principale le plus longtemps possible. Pourquoi le time slice est-il plus généreux pour un lot que pour un travail interactif ? Parce que lors d'un ordre de lecture de la base de données, le système charge dans le buffer plusieurs slots de façon à faire le moins possible d'accès disque, sachant qu'un accès disque provoque immédiatement une purge sur disque du lot qui devra attendre de revenir en mémoire pour continuer à s'exécuter.

Ladeuxième génération d'ordinateurs était exploitée exclusivement sous forme de traitement par lots, progrès sur l'utilisationen vacations de ceux de la première génération. La notion desystème d'exploitation devint alors essentielle. Les ordinateurs étaient alimentés en entrée par des instructions encodées sur descartes perforées et fournissaient les données de sortie sur desimprimantes (exemple : le systèmeFMS).
Les terminaux interactifs enligne de commande ne se sont répandus que vers le milieu desannées 1960, lorsque le coût du temps machine est devenu suffisamment abordable — et donc a touché un plus vaste nombre d'utilisateurs potentiels — grâce à latroisième génération d'ordinateurs.
Les programmes de traitement par lots s'opposent auxprogrammes interactifs, ou transactionnels. Le transactionnel comme CICS sur les mainframes d'IBM n'est rien d'autre qu'un traitement batch qui par le biais du pooling donne la main à tour de rôle au terminal dont le bit est « on » dans une table, c'est-à-dire que le programme avec toutes ses données est ramené du disque en mémoire centrale, exécute la transaction et est immédiatement purgé de nouveau sur disque.
Un vrai traitement batch comprend descodes de condition permettant d'enchaîner les traitements comme unvéritable programme (si… alors… sinon…). Un programme batch n'a pas besoin pour s'exécuter d'obtenir une réponse de l'utilisateur, il s'exécute en autonome. les travaux batch sont surtout lancés de nuit par les opérateurs système suivant le planning établi, ou bien par un robot sous surveillance d'un seul opérateur.
Parabus de langage, un fichierbatch est, sous lesystème d'exploitationWindows, un fichier (ouscript) contenant une série d'instructionsDOS. Ces fichiers, lorsqu'ils sont lancés, exécutent les commandes contenues dans le fichier.
Le mot batch désigne alors un langage anonyme, parfois appelélangage batch oulangage DOS, et qui est interprété par les exécutablescmd.exe etcommand.com, un sous-ensemble desshellsunix commebash ouksh.
Le langage de commandes Windows est relativement lent car il n'est pas compilable et demande donc, au moment de l'exécution, une interprétation de ses commandes parcmd.exe etcommand.com, qui sont ensuite exécutées sur le processeur.
De par l'utilisation d'outils de haut niveau, un fichier de commandes peut aisément formater un disque ou supprimer un fichier.
Lerenommage en masse defichiers ou dedossiers informatiques d'une façon automatique est un exemple de traitement par lots.
Pour effectuer ce genre d'opération, unlogiciel spécialisé est utilisé. Ces logiciels peuvent avoir plus ou moins de fonctionnalités, mais certaines fonctions de base sont partagées.
shutdown /s /t [temps désiré en secondes]shutdown /s /t 180 fera s'éteindre l'ordinateur 180 secondes, soit 3 minutes après l'exécution du fichier Batch. Après avoir entré les commandes, enregistrez sous, avec le nom désiré, et l'extension .bat ou .btm (les plus utilisées).Les commandes externes sont des fichiers (au format.bat, .cmd ou.exe).
Voici une liste (non exhaustive) de commandes externes directement fournies par Microsoft avec Windows :
Sur les autres projets Wikimedia :