À l'origine de la création du DOS, le nom des fichiers était limité à 8 caractères suivis d'au maximum 3 caractères pour l'exension. Les espaces et caractères accentués étaient interdits.
De plus, à l'intérieur des fichiers, les caractères accentués étaient mal gérés.
De nos jours, ces limitations n'existent plus à condition de prendre quelques précautions.
Voici donc quelques techniques pour vous assurer que vos fichiers batch fonctionnent correctement s'ils doivent afficher des caractères accentués dans un echo ou s'ils doivent travailler avec des dossiers contenant des espaces ou des caractères accentués.
L'encodage d'un fichier indique comment les caractères qui ne font pas partie des 128 premiers caractères de la charte ASCII seront encodés lors de l'enregistrement. Par défaut, selon l'éditeur utilisé, l'encodage sera généralement en UTF-8 ou en ANSI.
Lorsqu'un fichier batch doit afficher des caractères accentués dans un echo, il faut que ces caractères soient encodés de façon à ce que la ligne de commande (CMD) puisse les décoder comme il faut. Il faut donc que le fichier soit encodé au format OEM 720. Par exemple, dans Notepad++, allez dans le menu / / / .
Si, en plus des caractères à afficher, le fichier batch doit travailler avec des caractères accentués dans les noms de fichiers ou de dossiers, les choses se compliquent. Mais il est tout de même possible d'y arriver.
Deux étapes sont nécessaires :
CHCP 1252
SET chemin=C:\Users\Étienne\Documents
Dans une commande DOS, l'espace permet de séparer les arguments de la commande.
Si le nom d'un dossier ou d'un fichier contient des espaces, il faudra placer le chemin entre guillemets.
Ex :
SET chemin="C:\Program Files\Google"
▼Publicité