CES FAMEUX BATCHS OU COMMENT S'INITIER A LA PROGRAMMATION "PC"

a moindres frais.

Cette rubrique est en pleine creation, et c'est un relativement gros projet qui aborde non seulement les commandes batchs mais egalement l'optimisation du PC (la memoire vive et le(s) disque(s) dur) en mode DOS. En effet, que faites vous de votre vieux PC, qui ne supporte pas les systemes et logiciels modernes si gourmands en ressources? Vous ferez surement comme d'autres: transformation en machine de backup, ou pour jouer, ou pour experimenter des cartes d'interfaces maisons sur le port serie ou parallele (il se trouve que justement on peut attaquer directement les ports d'entrees / sorties grace a certaines commandes batchs...). Vous pouvez visiter et utiliser ce qui fonctionne, mais d'ici la fin de l'annee 2000, le cours devrait etre 100% operationnel.

 

Passer directement aux choses serieuses

Petite intro

En effet, les fichiers batchs (extension .bat) ne payent pas de mine, ce ne sont que de betes fichiers texte qui seront executes ligne par ligne par l'interpreteur de commandes du systeme d'exploitation (exemple: le [COMMAND.COM] du [DOS]). Ont les appelle couramment "fichiers de commandes" ou "fichiers de commandes par lots".

Parler des fichiers batchs comme d'un langage de programmation a part entiere en fait sourrire beaucoup voire meme plus d'un, pourtant de base, les fichiers batchs offrent une puissance vraiment impressionante meme pour les blases du C. Exemple: lancer la recherche de fichiers sur tout le disque et enregistrer la recherche dans un fichier, le tout avec des parametres modifiables, quelle taille en C? En batch ca donne ca:

[DIR] [%]1 /S > [%]2

Taille totale = 14 octets, pas mal pour un pseudo langage hein?

Bon maintenant que vous etes convaincu, un petit rappel des avantages et inconvenients du batch.

LES AVANTAGES

Au nombre des avantages principaux et pas des moindres de nos jours, le prix. Sur tout PC avec DOS ou / et windows (meme NT , avec quelques differences) il y a la, pret a servir tout le materiel (ou plus exactement tout le logiciel) necessaire pour se lancer dans la grande et palpitante aventure de la programmation et rejoindre ainsi la joyeuse confrerie des poches-sous-les-yeux-man...Soit en vrac: les commandes "externes", les commandes "internes", un traitement de texte et une aide performante. Encore un avantage, la facilite d'assimilation des commandes. Il y a relativement peu de commandes a memoriser et c'est du pseudo anglais, tres similaire au basic Microsoft. Quand vous passerez a la programmation en basic (DOS ou Visual), vous ne serez pas depayse. Et quand vous passerez a LINUX ou UNIX, vous serez en terrain connu et la manipulation des commandes en mode texte ne posera aucun probleme. Alors qu'est ce qu'on dit?

Le [debogage] des batchs est ULTRA SIMPLE, aucun probleme pour modifier un batch. Un batch sur votre PC fonctionnera sur un autre PC avec une grande souplesse au niveau du systeme d'exploitation. De plus l'utilisateur du batch peut le modifier pour le personnaliser et l'adapter a ses besoins.

Le langage batch etant compose de commandes internes mais egalement externes, il est extensible a l'infini grace a des EXE ou des COM additionnels que vous meme pouvez ecrire (le cours sur le basic version DOS viendra plus tard).

LES INCONVENIENTS

???????????????????????????

 

 

Description du cours concernant les batchs

La presente rubrique est divise grosso modo en deux parties principales; une partie traite en particulier les commandes d'optimisation du PC, elle meme scindee en deux: optimisation RAM et optimisation disques. L'autre gros morceau concerne la gestion des donnees sur disque, c'est la partie la plus interessante pour creer des batchs qui vont vous facilite la vie et vous donner gout a la programmation. Et une partie double bonus, la rubrique "divers".

Chaque commande est detaillee sur une seule page html. Le titre de la page reprend le nom de la commande. En bas de page, trois liens: un pour revenir en debut de page, au niveau du titre (Retour en haut), un pour revenir a la page d'acceuil du cours, la presente page (Retour au sommaire de la rubrique) et un pour revenir a la page d'acceuil du site (Retour au debut). La premiere partie decrit la syntaxe et chaque parametre de la commande, la seconde partie traite des particularites de la commande (conflits possibles, precautions a prendre) et enfin des exemples concrets vous aide a assimiler l'utilisation de la commande. De plus, chaque mot cle est un hyper lien qui vous menera soit a une autre commande, soit a un autre paragraphe de la page en cours ou a la page "lexique batch". Soit en tout plus de 1400 hyper liens pour cette seule rubrique qui compte 100 pages html.

Les trois tableaux qui suivent regroupent par categorie les commandes DOS existantes actuellement. Dans la colonne "Nom de la commande", le libelle de la commande comme il doit etre tape. Dans les colonnes "DOS x.x (windows xx)", il est indique si la commande existe pour le systeme d'exploitation donne. Dans les colonnes "Config.sys", "Batchs", et "Autoexec.bat" il est indique si la commande peut etre exploitee dans le fichier donne. Dans la colonne "Int/Ext", il est indique si la commande est de type Interne ou Externe. Et dans la colonne "Invite", il est indique si la commande peut etre execute a l'invite du DOS (sur la ligne de commande).

Gestion PC

Nom de la commande
DOS 6.x
DOS 7.x
Config.sys
Batchs
Autoexec.bat
Int/Ext
Invite

[DIR]

Oui
Oui
Non
Oui
Oui
Int
Oui

[CD][CHDIR]

Oui
Oui
Non
Oui
Oui
Int
Oui

[MD][MKDIR]

Oui
Oui
Non
Oui
Oui
Int
Oui

[RD][RMDIR]

Oui
Oui
Non
Oui
Oui
Int
Oui

[REN][RENAME]

Oui
Oui
Non
Oui
Oui
Int
Oui

[DEL][ERASE]

Oui
Oui
Non
Oui
Oui
Int
Oui

[CLS]

Oui
Oui
Non
Oui
Oui
Int
Oui

[DATE]

Oui
Oui
Non
Oui
Oui
Int
Oui

[TIME]

Oui
Oui
Non
Oui
Oui
Int
Oui

[COPY]

Oui
Oui
Non
Oui
Oui
Int
Oui

[BREAK]

Oui
Oui
Oui
Oui
Oui
Int
Oui

[PROMPT]

Oui
Oui
Non
Oui
Oui
Int
Oui

[SET]

Oui
Oui
Non
Oui
Oui
Int
Oui

[VERIFY]

Oui
Oui
Non
Oui
Oui
Int
Oui

[VOL]

Oui
Oui
Non
Oui
Oui
Int
Oui

[VER]

Oui
Oui
Non
Oui
Oui
Int
Oui

[CTTY]

Oui
Oui
Non
Oui
Oui
Int
Oui

[CHCP]

Oui
Oui
Non
Oui
Oui
Int
Oui

[ECHO]

Oui
Oui
Non
Oui
Oui
Int
Non

[PAUSE]

Oui
Oui
Non
Oui
Oui
Int
Non

[CALL]

Oui
Oui
Non
Oui
Oui
Int
Non

[IF]

Oui
Oui
Non
Oui
Oui
Int
Oui

[NOT]

Oui
Oui
Non
Oui
Oui
Int
Oui

[EXIST]

Oui
Oui
Non
Oui
Oui
Int
Oui

[ERRORLEVEL]

Oui
Oui
Non
Oui
Oui
Int
Non

[GOTO]

Oui
Oui
Non
Oui
Oui
Int
Non

[FOR]

Oui
Oui
Non
Oui
Oui
Int
Non

[REM]

Oui
Oui
Non
Oui
Oui
Int
Non

[PATH]

Oui
Oui
Non
Oui
Oui
Int
Oui

[EXIT]

Oui
Oui
Non
Oui
Oui
Int
Oui

[SHIFT]

Oui
Oui
Non
Oui
Oui
Int
Non

[LH][LOADHIGH]

Oui
Oui
Non
Non
Oui
Int
Oui

[CHOICE]

Oui
Oui
Non
Oui
Oui
Ext
Non

[ATTRIB]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[DELTREE]

Oui
Non
Non
Oui
Oui
Ext
Oui

[DISKCOPY]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[XCOPY]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[SYS]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[SORT]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[MOVE]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[MORE]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[MODE]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[LABEL]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[KEYB]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[FIND]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[FC]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[EDIT]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[TYPE]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[DOSKEY]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[SETVER]

Oui
Non
Non
Oui
Oui
Ext
Oui

[TREE]

Oui
Non
Non
Oui
Oui
Ext
Oui

[DISKCOMP]

Oui
Non
Non
Oui
Oui
Ext
Oui

[EXPAND]

Oui
Non
Non
Oui
Oui
Ext
Oui

[UNDELETE]

Oui
Non
Non
Oui
Oui
Ext
Oui

[NLSFUNC]

Oui
Oui
Oui
Non
Non
Ext
Non

[COMMAND]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[INTERLNK]

Oui
Non
Non
Oui
Oui
Ext
Oui

[INTERSVR]

Oui
Non
Non
Oui
Oui
Ext
Oui

Optimisation disques

Nom de la commande
DOS 6.x
DOS 7.x
Config.sys
Batchs
Autoexec.bat
Int/Ext
Invite

[FORMAT]

Oui
Oui
Non
Oui
Non
Ext
Oui

[UNFORMAT]

Oui
Non
Non
Oui
Non
Ext
Oui

[FDISK]

Oui
Oui
Non
Oui
Non
Ext
Oui

[SCANDISK]

Oui
Mis a jour
Non
Oui
Oui
Ext
Oui

[DEFRAG]

Oui
Mis a jour
Non
Oui
Oui
Ext
Oui

[CHKDSK]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[SUBST]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[DBLSPACE]

Non
Non
Non
Oui
Oui
Ext
Oui

[DRVSPACE]

Oui
Mis a jour
Non
Oui
Oui
Ext
Oui

Optimisation memoire vive

Nom de la commande
DOS 6.x
DOS 7.x
Config.sys
Batchs
Autoexec.bat
Int/Ext
Invite

[MEM]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[EMM386]

Oui
Non
Non
Oui
Oui
Ext
Oui

[MEMMAKER]

Oui
Non
Non
Oui
Non
Ext
Oui

[SMARTDRV]

Oui
Non
Non
Oui
Oui
Ext
Oui

Divers

Nom de la commande
DOS 6.x
DOS 7.x
Config.sys
Batchs
Autoexec.bat
Int/Ext
Invite

[HELP]

Oui
Non
Non
Oui
Oui
Ext
Oui

[FASTHELP]

Oui
Non
Non
Oui
Oui
Ext
Oui

[MSD]

Oui
Non
Non
Oui
Oui
Ext
Oui

[MSCDEX]

Oui
Oui
Non
Oui
Oui
Ext
Oui

[DEBUG]

Oui
Oui
Non
Oui
Non
Ext
Oui

[WIN]

Oui
Oui
Non
Oui
Oui
Ext
Oui

Les commandes internes representent la partie "invisible" du concept batch. Ce sont des mots cles (avec leurs [commutateurs]) reconnus par [COMMAND.COM]. Voici la liste des commandes internes reconnues par le DOS et inserables dans un batch depuis la version DOS 3.3:

A l'inverse des commandes internes, les commandes externes ne sont ni plus ni moins que des petits logiciels (certains ayant pour extension .EXE et d'autres .COM) qui ont une fonction particuliere dans le domaine de la gestion du PC. Le gros avantage des commandes externes est que l'on peut en rajouter, crees par soi ou recuperees ca et la... Tout comme les commandes internes, les commandes externes ont evoluees avec le systeme d'exploitation. Ainsi Microsoft a ameliore certains points et supprime d'autres. Si l'on compare les fichiers COM et EXE fournis avec le DOS de windows 95 (DOS 7) avec celui de windows 3.11 (DOS 6.22, le plus abouti) on se rend tout de suite compte que Microsoft a decide la mort du DOS a breve echeance :( plus d'aide generale du DOS ([HELP]), plus de programmation en basic ([QBASIC]). Plus vicieux, l'aide de certains composants ne mentionne pas tous les [commutateurs] alors qu'ils sont toujours acceptes... Exemple: l'aide de la commande [format] ne mentionne pas le commutateur "/U" pour unconditionnal (formatage sans conditions, brrr) et il fonctionne pourtant tres bien... Logique, il est plus facile et moins couteux de supprimer une ou deux ligne dans un logiciel que de le reecrire ou de rendre inactive certaines fonctions.

[MOUSE] [EXTRACT]

UNIQUEMENT DEPUIS WINDOWS 95

[XCOPY32] [START] [FTP] [NBTSTAT] [PING] [NETSTAT] [ROUTE] [NET] [DMFWRITE]

LES CAS PARTICULIERS

[HIMEM.SYS] [ANSI.SYS] [CONFIG.SYS] [AUTOEXEC.BAT]

Ce cours est tire en grande partie de la documentation officicelle de Microsoft (notamment help.com, Dos 6.22), mais largement remaniee et mise a jour car incomplete et truffee d'erreurs, bouh :(

Retour en haut

Retour au debut