Pourquoi Windows 10 interdit d’utiliser certains noms de fichiers comme aux.mp3 ou con.jpg
Windows 10 ne permet toujours pas d'utiliser certains noms de fichiers comme aux.mp3, con.txt, ou encore prn.doc. Un “toujours pas” de rigueur puisque cette limitation remonte en fait des concepts introduits dans CP/M un système d'exploitation antérieur à MS-DOS – la firme a par la suite, à chaque version de Windows, repris des conventions et cette liste de noms de fichiers réservés, pour rendre chaque version rétrocompatible. Un effort qui peut paraître dantesque puisque la raison d'être de ces noms de fichiers interdits est archaïque en 2018…
Quelle que soit sa version, Windows ne vous laisse pas nommer des noms de fichiers n'importe comment. Généralement, la limitation la plus connue concerne une liste de caractères spéciaux interdits : <, >, :, “, /, \, |, ?, *. Il est également interdit de terminer un nom de fichier par un espace, ou un point. Des limitations qui peuvent se comprendre compte-tenu de la manière dont Windows interprète les chemins vers les fichiers – un antislash par exemple, est normalement interprété comme le passage à un niveau d'arborescence de dossiers supérieur. Les autres caractères pourraient donner lieu à des failles de sécurité – permettant potentiellement d'injecter du code via les noms de fichiers, par exemple.
Windows 10 réserve certains noms de fichiers à cause de concepts dépassés qui remontent à 1974 : voici la liste
Mais il existe une autre limitation, beaucoup moins connue, car sa raison d'être est de nos jours beaucoup plus obscure. Il existe en effet une liste de mots que vous ne pourrez jamais utiliser dans un nom de fichier, quelle que soit son extension :
- CON
- PRN
- AUX
- NUL
- COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9
- LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
Windows n'étant pas sensible à la casse, si vous appelez un fichier LPt6.doc par exemple, Windows affichera le message d'erreur repris dans l'illustration de cet article : Le nom de périphérique spécifié n'est pas valide. Vous pouvez essayer vous même : l'explorateur Windows ne vous laissera jamais créer ou renommer un fichier avec l'un de ces noms. Nos confrères de How To Geek expliquent que cette étonnante limitation remonte à des concepts datant de… 1974. A l'époque, l'OS CP/M reprend une caractéristique des systèmes UNIX (qui existe encore dans Linux) : tout, y compris les périphériques, est un fichier.
Ainsi lorsque l'on imprimait un fichier, on “l'enregistrait”, concrètement, sur l'imprimante. Autrement dit on créait un fichier PRN: ou AUX: par exemple contenant le texte à imprimer. Dans CP/M chaque application pouvait avoir sa syntaxe si bien que l'OS ne traitait pas globalement certains noms de fichiers d'une manière différente des autres. Les premières versions de MS-DOS reprennent ce concept, mais plutôt que de permettre des syntaxes différentes par application, il créé une syntaxe globale, permettant d'envoyer des données sur les différents périphériques du PC. Ainsi ces noms de fichiers réservés étaient nécessaires, pour communiquer avec les périphériques.
Windows 10 montre que Microsoft peut parfois pousser le concept de rétrocompaibilité dans ses retranchements
Par la suite, à chaque nouvelle version de MS-DOS, le système a été repris pour des questions de rétrocompatibilité. Windows 95 était construit au-dessus de DOS, et a donc repris ces limitations. Windows NT n'est plus construit au-dessus de DOS, mais Microsoft l'a rendu rétrocompatible avec les applications de Windows 95/98 reprenant cette limitation. Windows 10 est encore basé sur Windows NT ce qui explique pourquoi cette liste de noms de fichiers réservés existe encore. Pour autant, on peut se demander si cette rétrocompatibilité a du sens en 2018, 40 ans après que cette limitation ait été introduite : la plupart des programmes utilisant cette fonctionnalité sont des programmes 16 bits qui ne se lanceront de toute façon pas dans Windows 10.
En outre, ces fichiers n'étant plus vraiment utiles dans Windows 10, et n'étant pas interdits par le système de fichiers NTFS, il reste quand même possible de les créer avec des programmes tiers comme Cygwin sans que cela ne provoque le moindre bug. De quoi se demander, tout de même, quand Microsoft se décidera enfin à nettoyer ce genre d'archaïsmes…
Lire aussi : Windows 10 laisse désormais supprimer plus d'applications installées par défaut