Windows 7 не может переименовать файл в «aux.svg»: «Указанное имя устройства недействительно» [дубликат]

8

Я использую Windows 7 x64. Вы можете попробовать это на своем компьютере тоже.

Иди возьми любой файл. Попробуйте переименовать его в «aux.svg». Windows ответит

Указанное имя устройства недействительно.

Я пробовал это на двух разных компьютерах (также Win7 x64), с одинаковыми результатами.
Вы можете взять любой файл, который вы хотите. Вы не можете переименовать его в «aux.svg». Dropbox не будет загружать файл с таким именем. Браузер переименует его в _aux.svg при загрузке. Кажется, это происходит в любом каталоге, который я хотел попробовать.

Какого черта здесь происходит?

bastibe
источник
Большинство API Win32, включая Explorer , и общие файловые диалоги, не позволит вам создавать файлы , которые соответствуют паре старых имен зарезервированного DOS устройств , таким как con, prn, aux.
LawrenceC

Ответы:

3

Добавить к ответу Александру :

Вы можете обойти синтаксический анализ имени файла , используя путь, такой как:

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

delи renameв командной строке принять такие пути. Тем не менее, это бессмысленно переименовать файл в aux , так как вы не сможете получить к нему доступ из других программ.

user1686
источник
0

Как еще одно дополнение два года спустя:

Вы можете переименовать (и изменить) любое зарезервированное ключевое слово с помощью cygwin . Если это каталог, вы можете получить доступ к его содержимому с помощью других программ в Windows, но не с самим собой.

Я сталкивался с этим во время компиляции программы в общей папке на виртуальной машине. В пакете была папка с именем aux, неподвижная папка, которую я ранее извлек с помощью cygwin. Таким образом, единственный способ избавиться от этого - снова использовать Cygwin .

gasoved
источник