Votre panier est vide. |
Antivirus |
Noms courts et noms longs DOScatégorie: système Deux noms pour un même fichierWindows autorise maintenant des noms de fichiers d'une longueur allant jusqu'à 256 caractères et pouvant comporter des espaces (noms longs). Les extensions peuvent elles aussi se composer de plus de 3 caractères et comprendre des espaces. Le DOS lui ne permet pas d'aller au-delà de 8 caractères et ne tolère ni les espaces ni les extensions à rallonge (noms courts dits aussi au format 8.3). Pour des raisons de compatibilité Windows associe donc un nom court à chaque fichier dont le nom n'est pas strictement au format 8.3 (plus de 8 caractères, présence d'espaces, etc.). Ceci vaut bien sûr autant pour les noms de fichiers que pour les noms de répertoires lesquels sont aussi des fichiers. Le mode console étant une application Windows les noms longs y sont reconnus à condition qu'ils ne contiennent aucun espace. Exemple : cd documents_techniques L'espace a toujours une signification dans la syntaxe d'une commande, c'est un délimiteur de paramètres. Si un nom contient un ou plusieurs espaces il doit donc être mis entre guillemets. Les guillemets peuvent encadrer la totalité de l'ensemble chemin + nom ou, un par un, chacun des éléments. On écrira indifféremment : cd "program filesfichiers communs" En DOS natif on est obligé de recourir exclusivement aux noms courts. Comment Windows crée un nom court à partir d'un nom longLa règle de fabrication est la suivante : Il faut donc écrire : cd progra~1fichie~1 Le 1er de ces exemples illustre également la troncature d'un nom de répertoire. Les noms ne dépassant pas 8 caractères mais comportant des espaces sont eux aussi transformés. Les espaces sont supprimés puis le nom est systématiquement suffixé par ~n comme pour les noms longs, avec troncature à 6 caractères si besoin est. Un nom de fichier peut aussi comporter plusieurs caractères point. Seul le dernier est considéré comme annonçant l'extension. Les points intermédiaires subissent le même traitement que les espaces et même si le nom obtenu ne dépasse pas 8 caractères la règle de suffixation est également appliquée. Les extensions longues ou comportant des espaces sont transformées de la manière suivante : On remarque que la suffixation par ~n est systématique, quel que soit le type de transformation apporté au nom d'origine. Sous Windows 9X, en mode console la commande dir affiche à la fois les noms courts et les noms longs. La différenciation entre majuscules et minuscules est conservée. Sous Windows XP il faut utiliser le commutateur /X pour provoquer ce double affichage mais les noms courts sont affichés en majuscules. Le commutateur /L permet d'afficher les noms (longs et courts) en minuscules mais en perdant la différenciation d'origine. Traitement des homonymiesQuand la transformation du nom long en nom court aboutit à créer un homonyme (un fichier de même nom existe déjà dans le répertoire) le nom est alors suffixé par ~2 au lieu de ~1. En cas d'homonymie multiple les noms suivants seront suffixés par ~3 puis ~4. Au-delà les règles de troncature changent. À partir du cinquième homonyme seuls les deux premiers caractères du nom d'origine sont conservés, une chaîne discriminante de 4 caractères est ajoutée et le tout est systématiquement suffixé par ~1. La deuxième limite de longueurIl peut arriver que Windows refuse d'accéder à certains fichiers au motif que leur nom est trop long bien que celui-ci comporte moins de 256 caractères. Dans ce cas c'est en fait la longueur totale de la chaîne de caractères comprenant le nom du fichier précédé de son chemin d'accès qui est supérieure ou égale à 256 caractères (259 en comptant la lettre d'unité, les deux points et la barre oblique inverse). C'est la deuxième limite. Ceci résulte généralement d'un changement de nom de l'un des répertoires constituant le chemin d'accès au fichier. Prenons un exemple. Imaginons un fichier dont le nom est composé de 245 caractères que nous appellerons sous la forme abrégée : fic_nom_long_245_caractères. Il est dans C:documents. On renomme documents en vieux_documents. On a donc : Le fichier fic_nom_long_245_caractères n'est plus accessible. Il ne pourra le redevenir qu'en renommant le répertoire vieux_documents avec un nom plus court. |