Voici un cas typique d'utilisation de cette petite astuce :
Vous vous êtes constitué une disquette de démarrage sous MS-DOS pour la maintenance de votre PC (images de partitions, re-partitionnement, récupération de fichiers, ...) en vous inspirant de la disquette de démarrage de Windows 98 SE.
Le matériel évoluant, vous avez repris tout cela pour faire un CD de démarrage, une clé USB de démarrage, voire une partition dédiée sur votre disque dur.
L'ennui, c'est qu'au démarrage, chacun de ces supports se voit affecter une lettre d'unité différente, la variable PATH définie dans votre fichier AUTOEXEC.BAT est spécifique à chacun de ces supports, voire à la combinaison support/machine. Dès que vous modifiez votre AUTOEXEC.BAT (par exemple pour y ajouter un utilitaire), vous devez le faire sur chaque support.
Vous aimeriez bien simplement pouvoir écraser l'ancienne version par la nouvelle, mais pour cela, il faudrait que le PATH soit automatiquement renseigné en fonction de la lettre d'unité de démarrage.
On peut trouver sur internet certaines solutions à ce problème, mais je n'en ai trouvé aucune qui fonctionne avec cette version de MS-DOS très courante (celui livré avec Windows 98SE).
Elles utilisent généralement des possibilités de CALL et/ou SET qui n'existent par dans cette version.
PATH=C:\;C:\DOS;C:\CMD
SET UNITE=C:\
PATH=%UNITE%;%UNITE%DOS;%UNITE%CMD
Le problème se résume maintenant à alimenter automatiquement la variable UNITE dès le début du fichier AUTOEXEC.BAT, c'est à dire à lancer la commande SET UNITE=x:\ avec la bonne valeur de x.
Le principe est le suivant :
CD>rep.txt
COPY cmd_set.txt+rep.txt setrep.bat
CALL setrep.bat
ERASE setrep.bat
ERASE rep.txt
PATH=%UNITE%;%UNITE%DOS;%UNITE%CMD
SET UNITE=
Point important : pour que la concaténation donne lieu à une seule ligne, il ne faut pas que ce fichier comporte les caractères de fin CR LF habituels sous DOS.
Le moyen le plus simple consiste à créer ce fichier avec le Bloc-notes de Windows, le codage des caractères que nous utilisons étant le même sous DOS et Windows.
Mais vous pouvez aussi le créer entièrement sous DOS, au moyen de l'éditeur EDIT :
Pour celà, dans la fenêtre qui s'affiche, cocher Fichier bin, comme on le voit ci-contre.
Les copies d'écran ci-après montent le contenu du fichier en hexadécimal avant et après modification :
Dernière mise à jour de cette page : 12/8/2007