Ou comment recopier le nom d'un volume sur un autre volume (testé uniquement sous MS-DOS 5).
Passer à LBL.BAT en premier paramètre l'origine et en second la destination.
Par exemple: lbl a: b: ou bien lbl c: d:
LBL.BAT 1 @echo off 2 dir %1 > temp.bat 3 call temp.bat 4 label %2 < temp2 5 del temp.bat 6 del temp2
LE.BAT 1 @echo off 2 if %5 == s'appelle goto avec 3 echo. > temp2 4 goto fin 5 :avec 6 echo %6 %7 %8 %9 > temp2 7 :fin
La ligne 2 de LBL.BAT (dir %1 > temp.bat) produit un fichier temp.bat dont la première ligne commence par:
Le volume dans l'unité X s'appelle .... %0 %1 %2 %3 %4%5 %6 7 8 9...
ou bien:
Le volume dans l'unité X n'a pas de nom %0 %1 %2 %3 %4%5 %6 %7 %8
En exécutant LE.BAT le test se fait sur le 5ème paramètre qui est soit "s'appelle" soit "n'a"
S'il n'y a pas de nom de volume la ligne 3 de LE.BAT crée un fichier temp2 avec un espace suivi de CR/LF. Ce fichier redirigé en entrée de la commande label crée un nom de volume vide (tout en affichant un message d'erreur)
S'il y a un nom de volume, il est recopié dans temp2 suivi de CR/LF et redirigé en entrée de label