FreeToGenerate.com

Windows réserve 28 noms de périphérique. Presque toutes les listes en donnent 22.

Le nom que vous voulez utiliser

Un tiret par défaut. Ce que vous tapez ici est utilisé tel quel : choisissez donc quelque chose que le système de destination accepte.

24 / 255

Ce qui a dû changer

  • Des caractères que ce système refuse dans un nom ont été remplacés. Windows en interdit neuf — inférieur, supérieur, deux-points, guillemet droit, barre oblique, barre oblique inverse, barre verticale, point d'interrogation et astérisque — là où Linux n'interdit que la barre oblique.
  • Un point final a été retiré. Windows n'accepte pas un nom qui se termine par un point, alors qu'un point initial passe très bien : c'est ce qui rend .gitignore possible.

Quels systèmes refusent le nom que vous avez tapé

Windows, macOS

Ce que chaque système interdit

WindowsmacOSLinux
Caractères interdits< > : " / \ | ? */ :/
Noms réservés28NonNon
Point ou espace finalOuiNonNon

Les règles Windows sont tirées de Naming Files, Paths, and Namespaces de Microsoft ; les autres sont les règles POSIX auxquelles s'ajoutent les deux-points hérités de HFS sur macOS. Rien n'est envoyé : le renommage a lieu dans cet onglet. (260)

Les 28 noms réservés de Windows

CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9COM¹COM²COM³LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9LPT¹LPT²LPT³

Ils ne peuvent servir de nom de fichier sous Windows, avec ou sans extension, dans aucun répertoire. Presque toutes les listes publiées en donnent 22.

Les six signalés ici sont ceux que presque aucune liste ne contient. La documentation de Microsoft mentionne COM et LPT écrits avec des chiffres en exposant et explique pourquoi : Windows considère ces caractères comme des chiffres, si bien qu'ils forment des noms de périphérique valides et restent réservés partout. La documentation fournit même le test — écrire dans COM suivi d'un un en exposant ne crée aucun fichier.

Aussi disponible en : English · Español · Português · العربية

Caractères interdits dans un nom de fichier

Collez un nom, choisissez le système qui vous concerne et obtenez un nom qui s'enregistrera vraiment, chaque modification étant expliquée plutôt qu'appliquée en silence.

Qu'est-ce qui rend un nom de fichier illégal ?

Moins de choses qu'on ne croit sur certains systèmes, et bien plus qu'on ne croit sur d'autres : c'est là tout le problème. Linux interdit exactement deux choses dans un nom, l'octet nul et la barre oblique. Tout le reste passe : deux-points, points d'interrogation, points finaux, un fichier nommé NUL. macOS en ajoute un, les deux-points, hérités de HFS où ce caractère servait de séparateur de chemin ; c'est aussi pourquoi le Finder échange deux-points et barre oblique quand il affiche un nom.

Windows est le système strict. Il interdit neuf caractères imprimables — inférieur, supérieur, deux-points, guillemet droit, barre oblique, barre oblique inverse, barre verticale, point d'interrogation et astérisque — ainsi que l'octet nul et tous les caractères de contrôle de 1 à 31. Il refuse les noms qui se terminent par un point ou une espace. Et il réserve un ensemble de noms de périphérique qui ne peuvent servir de nom de fichier dans aucun répertoire.

Un nom qui fonctionne sur votre machine peut donc échouer sur celle d'un collègue, ou dans une archive zip qu'il ouvre sous Windows. Cet outil applique les règles que vous demandez et, par défaut, les applique toutes à la fois.

Comment l'utiliser

  1. Saisissez ou collez le nom. Le nom seul, pas le chemin entier : les règles qui comptent ici s'appliquent à un composant à la fois.
  2. Choisissez les règles à appliquer. « Sûr partout » est la valeur par défaut et l'option strictement la plus sévère ; les systèmes pris isolément servent lorsque vous savez exactement où le fichier va atterrir.
  3. Lisez ce qui a changé, pas seulement le résultat. Chaque modification est listée avec sa raison, et un encadré indique lequel des trois systèmes aurait refusé le nom que vous avez tapé.

Il y a 28 noms réservés, pas 22

Presque toutes les listes de noms réservés sous Windows donnent les mêmes 22 : CON, PRN, AUX, NUL, COM1 à COM9 et LPT1 à LPT9. La documentation de Microsoft en compte six de plus, et ce sont précisément ceux qu'il vaut la peine de connaître, car rien ne permet de les deviner.

Ces six-là sont COM et LPT écrits avec des chiffres en exposant, les caractères ¹, ² et ³ de l'ISO/IEC 8859-1. Microsoft en donne la raison dans une note de cette même page : Windows reconnaît ces caractères comme des chiffres et les considère comme des éléments valides d'un nom de périphérique COM ou LPT, si bien qu'ils sont réservés dans tous les répertoires. La documentation fournit même le test, en signalant qu'écrire dans COM suivi d'un un en exposant ne crée aucun fichier.

La réservation survit également à l'extension, et c'est ce qui piège le plus de monde. NUL.txt et NUL.tar.gz valent tous deux NUL, parce que la règle porte sur tout ce qui précède le premier point, et non sur la partie située avant le dernier. Un outil qui découpe au dernier point rate le second cas ; celui-ci découpe au premier.

Ce que cet outil ne fait pas

Il nettoie un nom, pas un chemin. La limite de 260 caractères de Windows porte sur le chemin entier, et aucun outil regardant un seul nom ne peut savoir à quelle profondeur il finira ; les 255 caractères que cette page impose sont la limite par nom que la plupart des systèmes de fichiers appliquent séparément. Ces deux nombres sont constamment confondus et ne mesurent pas la même chose.

Il ne peut pas non plus vous dire ce que votre système de fichiers acceptera précisément. Les règles présentées sont celles documentées pour Windows, pour POSIX et pour macOS, mais un partage réseau, une clé USB en FAT ou un client de synchronisation dans le nuage peuvent être plus stricts, parfois de façon non documentée. Un nom que cette page déclare sûr partout l'est au regard des règles publiées, ce qui est tout ce qu'un outil statique peut promettre.

Et il conserve délibérément le point initial. La documentation de Microsoft dit noir sur blanc qu'un point est acceptable comme premier caractère d'un nom : .gitignore et .env sont donc légaux sous Windows, seul le point final pose problème. Le supprimer, comme le font certains outils, casserait les fichiers cachés sans raison.

Pourquoi est-ce gratuit ?

Les règles tiennent en quelques centaines d'octets de tables et le renommage a lieu dans votre propre navigateur. Rien de ce que vous tapez n'est envoyé, rien n'est journalisé, et il n'y a aucun compte à créer.

Sans inscription, sans limite, et sans filigrane sur ce que vous copiez.