Почему нельзя создать папку aux в windows

Почему в Windows нельзя создать папку или файл с именем Con �� Если у вас есть компьютер с Windows, вы можете сразу проверить всё, о чём

Почему в Windows нельзя создать папку или файл с именем Con

Если у вас есть компьютер с Windows, вы можете сразу проверить всё, о чём говорится в статье. Если у вас Мак, то почитайте о том, что бывает в другой операционной системе.

Эксперимент

Чтобы сразу прояснить, о чём пойдёт речь, попробуйте вот что:

  1. Запустите компьютер с Windows.
  2. В любом месте создайте новую папку и назовите её Con английскими буквами.

Получится что-то вроде этого:

Почему в Windows нельзя создать папку или файл с именем ConВыбираем «Создать» → «Папку» Почему в Windows нельзя создать папку или файл с именем ConПишем «Con» Почему в Windows нельзя создать папку или файл с именем ConПолучаем сообщение об ошибке

Файлы виртуальных устройств

Чтобы понять, почему так происходит, нужно сначала познакомиться с файлами виртуальных устройств.

Когда первая версия Windows только появилась, она была не самостоятельной операционной системой, а оболочкой для системы MS DOS. А первая версия MS DOS появилась в 1981 году, и уже тогда предполагалось, что к компьютерам с MS DOS можно будет подключать разные устройства — принтеры, мыши, сканеры и так далее.

Чтобы устройства могли работать с операционной системой, нужны драйверы — специальные программы, которые объясняют системе, как работать с разными устройствами. Но во времена MS DOS драйверы работали с устройствами не напрямую, а через виртуальные файлы, и выглядело это примерно так:

  1. Система записывает в этот файл какие-то данные.
  2. Драйвер видит, что, например, в файл принтера поступили какие-то данные, и начинает их распечатывать.

Общее правило такое: файлы виртуальных устройств нужны для того, чтобы драйверам этих устройств было проще работать.

Эти файлы назывались так:

  • CON
  • AUX
  • PRN
  • LST
  • COM0 и до COM9
  • LPT0 и до LPT9
  • NUL

При этом неважно, большими буквами будет это написано или маленькими — в MS DOS регистр букв был некритичен.

Эти названия зарезервированы системой, поэтому пользователь их не может использовать для своих нужд. А как только в MS DOS кто-то попытается создать папку или файл с таким именем, то система сразу выдаст ошибку.

Теперь поговорим о том, почему эта особенность MS DOS мешает нам создавать папки и файлы в Windows. Как это часто бывает в ИТ, всё дело в обратной совместимости.

Обратная совместимость

Первые версии Windows были графической оболочкой. Версия 3.1, на основе которой потом будет сделана Windows 95, стала полноценной и самостоятельной операционной системой, но всё равно она была основана на MS DOS. Оттуда же перешли и файлы виртуальных устройств, чтобы приложения для MS DOS могли запускаться на Windows 3.1.

Дальше были Windows 95, Windows NT, Windows 98, Vista и XP — все они базировались на одной и той же внутренней логике, которая включала себя ту самую изначальную логику MS DOS. Всё ради того, чтобы на этих системах можно было запускать старые программы.

Когда Microsoft разрабатывали новое семейство операционных систем, начиная с Windows 7 и заканчивая Windows 11, им пришлось добавить поддержку старых программ, чтобы сохранить совместимость с теми миллионами программ, которые уже вышли для Windows. А для этого они взяли код из старых версий, который был написан ещё для поддержки программ MS DOS.

Именно по этой причине в Windows 11 до сих пор нельзя создать папку «Con» — это сделано для того, чтобы сегодня можно было запускать софт тридцатилетней давности.

Чтобы было понятен масштаб связи современной Windows 10 с её старым прародителем Windows 3.1, посмотрите на этот скриншот: при выборе настроек базы данных открывается диалоговое окно, которое спроектировано для первой версии Windows:

Почему в Windows нельзя создать папку или файл с именем Con

А вот что было 30 лет назад (почти тот же интерфейс):

Почему в Windows нельзя создать папку или файл с именем Con

Зачем поддерживать старый софт?

В мире очень много оборудования и систем, которые работают на старом софте. Софт старый потому, что его компании-разработчики могли закрыться, обанкротиться, прекратить поддержку старого софта; или разработчик просто состарился и умер; или женился, завёл детей и уехал в загородное поместье. А железо осталось: на электростанциях, промышленных предприятиях, в госучреждениях и страшно представить где ещё.

Если Microsoft решит в одночасье отключить поддержку всего этого старого софта и железа, то все эти старые системы могут начать сыпаться. А так как они подпирают важные инфраструктурные вещи (особенно в США), никто этого не хочет.

Поэтому до сих пор в недрах самой современной Windows теплится код, который обрабатывал файлы устройств тридцать лет назад.

Интересный факт, либо пустые домыслы из жизни Билла Гейтса

Почему нельзя создать папку con, в Windows? Билл Гейтс, человек образ которого всплывает в памяти при упоминании как компании Microsoft так и операционной системы Windows, один из самых богатых людей мира, в школьные годы казался сверстникам, довольно странным мальчиком. Он любил математику и программирование и оставлял без какого либо внимания «ненужные», неинтересные ему предметы. Одноклассники смеялись над ним и дразнили. Его называли обидным словом con, в переводе значится как «ботаник» либо «заучка». Те кто подвергался гонениям со стороны одноклассников в школе, хотят поскорее вырасти, приобрести значимый статус, тем самым доказав обидчикам, как они были неправы. Версия, почему папка с названием con в Windows никак не создаеся именно потому, что Билл Гейтс был обижен на одноклассников, конечно, имеет право на существование, но вызывает сомнения. К тому же, Гейтс и уже доказал всем школьным «обидчикам», что из ботаника может вырасти человек, имя которого знает почти весь мир.

Но если мы хотим услышать более серьезный ответ то стоит обратиться к истокам. Система MS-DOS увидела свет в 1981 году. С этих пор и до 2000 года, когда продукт прекратили разрабатывать, было выпущено восемь версий. Именно благодаря MS-DOS, являвшейся в тот период времени основным продуктом Microsoft, компания превратилась в крупнейшую корпорацию. В MS-DOS, в качестве надстроек слово «con» имело важное значение: это имя резервировалось системой для устройств ввода/вывода. Современная Windows по-прежнему воспринимает его как имя уже существующей системной папки. И слово con — не единственное имя, которым нельзя назвать папку в Windows. Также нельзя назвать папку словами nul, aux, lpt, prn и другими. Эти имена также зарезервированы в MS-DOS для некоторых функций. Например, слово nul воспринимается системой как «ничто». Так что виной тому не детские обиды, а системной надстройке.
Надеюсь было интересно, в следующей статье я расскажу о некоторых интересных самоделках

Создавайте папки CON, AUX, NUL и файлы одним кликом в Windows

Папка

Большинство из вас могут знать, что имена драйверов устройств MS-DOS нельзя использовать в качестве имен файлов в Windows. В результате мы не можем назвать папки как con, aux, nul и т. Д.

Microsoft MS-DOS зарезервировала эти имена для этих системных драйверов устройств.

  • CON: клавиатура и дисплей
  • PRN: устройство со списком систем, обычно это параллельный порт
  • AUX: вспомогательное устройство, обычно последовательный порт
  • CLOCK $: системные часы реального времени
  • NUL: устройство с бит-ведром
  • A: -Z:: Буквы дисков
  • COM1: Первый последовательный порт связи
  • LPT1: первый параллельный порт принтера
  • LPT2: второй параллельный порт принтера
  • LPT3: третий параллельный порт принтера
  • COM2: второй последовательный порт связи
  • COM3: третий последовательный порт связи
  • COM4: четвертый последовательный порт связи

Попробуйте создать файл или папку с этими именами на рабочем столе Windows и посмотрите, что произойдет.

Даже сегодня, если вы попытаетесь назвать папку, используя одно из этих зарезервированных имен, вы получите следующее сообщение об ошибке: Указанное имя устройства недействительно.

Эти ограничения все еще существуют в Windows на базе NT, возможно, причина в том, чтобы обеспечить совместимость для запуска 16-разрядных программ и программ на основе командной строки. Полные файлы имен Windows, пути, пространства имен, соглашения можно найти здесь.

Создать папку CON, AUX, NUL

Хотя вы можете использовать команды Linux или MS-DOS для создания имен папок, таких как «con», я наткнулся на это приложение Concu, которое утверждает, что позволяет одним щелчком создавать и удалять папки с ограниченными именами. Это ссылка CNET, поэтому не забудьте нажать на ссылку прямой загрузки.

Почему эта программа существует? Просто чтобы подчеркнуть, что это можно сделать с помощью инструмента, вот и все!

Я знаю, я знаю, что это действительно старые вещи, но это для тех, кто может не знать об этом .

Windows – это сложная операционная среда. Разобраться в ней трудно даже опытному пользователю компьютера. Не стоит даже говорить о новичках в деле программирования. Над этой средой работала опытная команда разработчиков и не только. Чтобы вся система не сломалась, из-за действий пользователя, программисты компании Windows установили некоторые ограничения. Одним из таких ограничений является то, что в операционной среде невозможно создать папку под именем «aux».

Вообще это связано с тем, что это имя уже зарезервировано системой, которая установлена на вашем ПК. Так же нельзя создать паки и с другими именами, но об этом будет написано чуть ниже.

Такая система с резервацией названий является наследием старенькой операционной системы под названием «MS-DOS». Резервация имен происходит только для стандартных устройств компьютера. Имена, которые применяются для стандартных имен, никогда не могут быть использованы для названия каких-либо файлов или папок.

Какие еще папки невозможно создать?

Как уже говорилось выше, в операционной среде Windows невозможно создать не только файл или папку под названием «aux», но я ряд других файлов под другими названиями. На самом деле их не так много, но они все же есть.

  • AUX – 1-ый последовательный порт.
  • PRN – 1-ый параллельный порт.
  • CON – консоль.
  • COM1 и так далее – последовательные порты.
  • NUL – фиктивное устройство, чаще всего используется для проведения тестов.
  • LPT1 и так далее – параллельные порты.

Фото на тему «Почему нельзя создать папку aux?»
Вы никогда не сможете в операционной среде Windows создать папку или файл с такими названиями. Но пользователи крайне редко хотят назвать файл на компьютере подобными именами, поэтому надобности в этих именах практически нет.

Миф с названием CON

Не так давно по интернету гулял миф о том, что файл или папку нельзя назвать «CON», потому что в детстве у создателя Windows – Билла Гейтса было прозвище Зубрила. По каким причинам его так назвали, думаю понятно. Зубрила переводится на английский как CON.

Будущего миллионера подобное прозвище сильно оскорбляло, и он запомнил его на всю жизнь. В будущем он запретил пользователям называть файлы и папки подобным именем.

Однако, мы уже разобрали, что название CON отвечает за стандартное устройство компьютера – консоль. Поэтому подобное высказывание является мифом, который Билл Гейтс сам же опроверг. Но на счет своего прозвище Билл решил не высказываться. Поэтому оно может быть правдой.

Почему нельзя создать папку

В операционной системе Windows есть особенность — в ней нельзя создать папку с определенными названиями. Например, папка con, lpt. По этому поводу есть несколько мнений. Одно из них – эти имена зарезервированы системой.

Почему нельзя создать папку

В операционной системе Windows невозможно создать папку либо файл с названиями COM, CLOCK$, AUX, PRN, LPT. Существует версия, что данный запрет был введен Биллом Гейтсом из-за клички, которая сопровождала его долгие годы. И всерьез обидевшись на своих друзей, он ввел ограничение на создание папки с прозвищем. Однако данная версия неверна.Невозможно создать папки с такими именами, так как есть более логичное объяснение. На заре операционной системы Windows были выпущены Dos’овские первоустройства; они позволяют создавать данные папки. Но в современных версиях данной ОС эти папки не создаются, так как Windows эти имена воспринимаются как имена системных папок, уже созданных и существующих. В ОС Dos существовала команда для записи файла с консоли — она выглядела так copy con text.txt. Все, вводимое с клавиатуры, попадало как раз в этот файл. Если бы можно было создать папку с именем com, тогда возможно было бы копирование всей директории в файл. Потому данное имя запретили для использования. Данное слово имело достаточно важное значение, это имя было зарезервировано системой для устройств ввода/вывода.Невозможно создать папку с именем prn, так как существовала команда copy text.txt > prn, которая выполняла (и сейчас отвечает за это) копирование содержимого файла на принтер. И это имя тоже является зарезервированным системным словом.Также вы не сможете сделать в Windows папку со следующими именами: PRN, NUL, CLOCK$, AUX, COM0, COM1,… COM9, LPT0, LPT1,… LPT9. Данные имена также являются зарезервированными для выполнения определенных функций. Например слово Nul обычно интерпретируется системой как «Ничто», а команда Nul представляет собой пустое устройство, предназначенное для перенаправления вывода системных команд. Потому и папку с таким именем создать не удастся.

Видео по теме

I just encountered a really weird bug on Windows 8.1.

I can’t seem to be able to create a folder named Aux or starting by Aux..
I tried on every disk, but I get the following message every time: Le nom du périphérique spécifié n'est pas valide (The name of the specified device is invalid).

Why is that? Is there a specific/valid reason? Is it specific to my computer?


I discovered this because I programatically created a folder named Aux and I can’t delete it anymore. I guess I have to run a script or program to get rid of it. (As it usually happens with such scenario on Windows)

asked Mar 25, 2016 at 18:27

Vadorequest's user avatar

VadorequestVadorequest

15.7k24 gold badges112 silver badges208 bronze badges

6

aux, prn, and con (among some others) are reserved for legacy reasons. prn refers to the printer, for instance, and con refers to the standard keyboard (console). It’s a remnant of MS-DOS retained for compatibility reasons, I’d guess.

You can still see con in use at a command prompt: type copy con test.txt in a folder where you have write access, type some text, and hit F6 to commit to disk, and then type test.txt to display what you typed on the screen.

There’s a bunch of information in Naming Files, Paths and Namespaces (Windows) — for the parts that are relevant to your question, see the section with the bullet points, specifically this item:

  • Do not use the following reserved names for the name of a file:

    CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. Also avoid these names followed immediately by an extension; for example, NUL.txt is not recommended. For more information, see Namespaces.

answered Mar 25, 2016 at 20:17

Ken White's user avatar

Ken WhiteKen White

122k14 gold badges220 silver badges437 bronze badges

1

I’d like to add my experience :
If your machine has windows and ubuntu dual boot, delete it from ubuntu filesystem.

Also in Ubuntu, I don’t know if it is a problem with git or ubuntu, when i cloned a certain project which had a file named ‘aux.c’ in it, there was an error saying ‘encountered an error while cloning aux.h and aux.c …’. I used

git clone [project-git-url]

If we only download the .tar file and then extract it, even then an error was encountered.

So, this is a really idiotic bug and I hate MS-DOS btw.(who even uses MS-DOS nowadays?)

answered Jun 18, 2021 at 8:13

shaleenbathla's user avatar

2

Большинство из вас могут знать, что имена драйверов устройств MS-DOS нельзя использовать в качестве имен файлов в Windows. В результате мы не можем назвать папки как con, aux, nul и т. Д.

Microsoft MS-DOS зарезервировала эти имена для этих системных драйверов устройств.

  • CON: клавиатура и дисплей
  • PRN: устройство со списком систем, обычно это параллельный порт
  • AUX: вспомогательное устройство, обычно последовательный порт
  • CLOCK $: системные часы реального времени
  • NUL: устройство с бит-ведром
  • A: -Z:: Буквы дисков
  • COM1: Первый последовательный порт связи
  • LPT1: первый параллельный порт принтера
  • LPT2: второй параллельный порт принтера
  • LPT3: третий параллельный порт принтера
  • COM2: второй последовательный порт связи
  • COM3: третий последовательный порт связи
  • COM4: четвертый последовательный порт связи

Попробуйте создать файл или папку с этими именами на рабочем столе Windows и посмотрите, что произойдет.

Даже сегодня, если вы попытаетесь назвать папку, используя одно из этих зарезервированных имен, вы получите следующее сообщение об ошибке: Указанное имя устройства недействительно.

Эти ограничения все еще существуют в Windows на базе NT, возможно, причина в том, чтобы обеспечить совместимость для запуска 16-разрядных программ и программ на основе командной строки. Полные файлы имен Windows, пути, пространства имен, соглашения можно найти здесь.

Создать папку CON, AUX, NUL

Хотя вы можете использовать команды Linux или MS-DOS для создания имен папок, таких как «con», я наткнулся на это приложение Concu, которое утверждает, что позволяет одним щелчком создавать и удалять папки с ограниченными именами. Это ссылка CNET, поэтому не забудьте нажать на ссылку прямой загрузки.

Почему эта программа существует? Просто чтобы подчеркнуть, что это можно сделать с помощью инструмента, вот и все!

Я знаю, я знаю, что это действительно старые вещи, но это для тех, кто может не знать об этом . 😉

  • Remove From My Forums
  • Question

  • In my storage I have a shared folder named «aux» and I mapped it on a Windows 7 desktop. When I opend the network drive on the desktop, Windows popped up an error «Invalid function». I had no clue what this error, I had never heard. Access
    using UNC path works without any error, Then I tried to create a folder «aux» on Windows 7, it did not allow. Same problem is seen in Windows server 2003 and 2008.

    Is there a fix for this?

Answers

  • This is a part of Windows’ legacy. You can’t create folders whose names match system devices. Other invalid folder names include CON, PRN, CLOCK$, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8,
    LPT9.

    • Proposed as answer by

      Thursday, April 25, 2013 3:02 PM

    • Marked as answer by
      tracycai
      Friday, May 3, 2013 8:24 AM

    • Proposed as answer by
      Balaji M KundalamMVP
      Friday, April 26, 2013 7:40 AM
    • Marked as answer by
      tracycai
      Friday, May 3, 2013 8:24 AM
  • Remove From My Forums
  • Question

  • In my storage I have a shared folder named «aux» and I mapped it on a Windows 7 desktop. When I opend the network drive on the desktop, Windows popped up an error «Invalid function». I had no clue what this error, I had never heard. Access
    using UNC path works without any error, Then I tried to create a folder «aux» on Windows 7, it did not allow. Same problem is seen in Windows server 2003 and 2008.

    Is there a fix for this?

Answers

  • This is a part of Windows’ legacy. You can’t create folders whose names match system devices. Other invalid folder names include CON, PRN, CLOCK$, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8,
    LPT9.

    • Proposed as answer by

      Thursday, April 25, 2013 3:02 PM

    • Marked as answer by
      tracycai
      Friday, May 3, 2013 8:24 AM

    • Proposed as answer by
      Balaji M KundalamMVP
      Friday, April 26, 2013 7:40 AM
    • Marked as answer by
      tracycai
      Friday, May 3, 2013 8:24 AM

Понравилась статья? Поделить с друзьями:
  • Почему нельзя сменить разрешение экрана windows 10
  • Почему нельзя скачать windows 10 с официального сайта
  • Почему нельзя расширить том диска с в windows 11
  • Почему нельзя расширить системный диск в windows 10
  • Почему нельзя расширить диск при установке windows