Windows 7 ne peut pas renommer un fichier en 'aux.svg': "Le nom de périphérique spécifié n'est pas valide" [dupliquer]

8

J'utilise Windows 7 x64. Vous pouvez également essayer cela sur votre ordinateur.

Allez prendre n'importe quel fichier. Essayez de le renommer en «aux.svg». Windows répondra avec

Le nom du périphérique spécifié n'est pas valide.

J'ai essayé cela sur deux ordinateurs différents (également Win7 x64), avec les mêmes résultats.
Vous pouvez prendre n'importe quel fichier que vous souhaitez. Vous ne pouvez pas le renommer en «aux.svg». Dropbox ne téléchargera pas de fichier avec ce nom. Le navigateur le renommera en «_aux.svg» lors du téléchargement. Cela semble se produire dans n'importe quel répertoire que je voulais essayer.

Qu'est-ce qui se passe ici?

bastibe
la source
La plupart des API Win32, y compris Explorer et les boîtes de dialogue de fichier commun, ne vous permettra pas de créer des fichiers qui correspondent à deux anciens noms de périphériques DOS réservés tels que con, prn, aux.
LawrenceC

Réponses:

14

C'est l'un des noms de fichiers interdits par Windows pour des raisons historiques . Pour autant que je sache, vous n'avez aucun moyen de contourner cela.

roguesys
la source
3

Pour ajouter à la réponse d' Alexandru :

Vous pouvez contourner l'analyse des noms de fichiers en utilisant un chemin tel que:

\\?\C:\Users\Paperflyer\aux.svg

delet renamedans l'invite de commandes, acceptez ces chemins. Cependant, il est inutile de renommer un fichier à aux , puisque vous ne pourrez pas y accéder à partir d' autres programmes.

user1686
la source
0

Autre ajout deux ans plus tard:

Vous pouvez renommer (et modifier) ​​n'importe quel mot clé réservé avec cygwin . S'il s'agit d'un répertoire, vous pouvez accéder à son contenu avec d'autres programmes sous Windows, mais pas lui-même.

Je suis tombé sur ce problème lors de la compilation d'un programme sur un dossier partagé dans une machine virtuelle. Il y avait un dossier nommé aux dans le paquet, un dossier inamovible, que j'avais extrait avec cygwin auparavant. Donc, le seul moyen de s'en débarrasser est d'utiliser à nouveau cygwin .

gazéifié
la source