👉 Если у вас есть компьютер с Windows, вы можете сразу проверить всё, о чём говорится в статье. Если у вас Мак, то почитайте о том, что бывает в другой операционной системе.
Эксперимент
Чтобы сразу прояснить, о чём пойдёт речь, попробуйте вот что:
- Запустите компьютер с Windows.
- В любом месте создайте новую папку и назовите её Con английскими буквами.
Получится что-то вроде этого:
Файлы виртуальных устройств
Чтобы понять, почему так происходит, нужно сначала познакомиться с файлами виртуальных устройств.
Когда первая версия Windows только появилась, она была не самостоятельной операционной системой, а оболочкой для системы MS DOS. А первая версия MS DOS появилась в 1981 году, и уже тогда предполагалось, что к компьютерам с MS DOS можно будет подключать разные устройства — принтеры, мыши, сканеры и так далее.
Чтобы устройства могли работать с операционной системой, нужны драйверы — специальные программы, которые объясняют системе, как работать с разными устройствами. Но во времена MS DOS драйверы работали с устройствами не напрямую, а через виртуальные файлы, и выглядело это примерно так:
- Система записывает в этот файл какие-то данные.
- Драйвер видит, что, например, в файл принтера поступили какие-то данные, и начинает их распечатывать.
Общее правило такое: файлы виртуальных устройств нужны для того, чтобы драйверам этих устройств было проще работать.
Эти файлы назывались так:
- 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:
А вот что было 30 лет назад (почти тот же интерфейс):
Зачем поддерживать старый софт?
В мире очень много оборудования и систем, которые работают на старом софте. Софт старый потому, что его компании-разработчики могли закрыться, обанкротиться, прекратить поддержку старого софта; или разработчик просто состарился и умер; или женился, завёл детей и уехал в загородное поместье. А железо осталось: на электростанциях, промышленных предприятиях, в госучреждениях и страшно представить где ещё.
Если Microsoft решит в одночасье отключить поддержку всего этого старого софта и железа, то все эти старые системы могут начать сыпаться. А так как они подпирают важные инфраструктурные вещи (особенно в США), никто этого не хочет.
Поэтому до сих пор в недрах самой современной Windows теплится код, который обрабатывал файлы устройств тридцать лет назад.
Вёрстка:
Кирилл Климентьев
Операционная система Windows нравится явно не всем. Чем иначе объяснить такое число пользователей macOS и Linux? В Window есть много неудобного, а порой даже и странного. Например, в этой системе почему-то нельзя создать папку с именем «con».
♥ ПО ТЕМЕ: Как отключить пароль на вход в Windows 10: рабочие способы.
Почему-то до сих пор Windows ассоциируют с Биллом Гейтсом, приписывая именно ему все основные недостатки системы. А ведь основатель компании давно уже отошел от ее управления, занимаясь в основном благотворительностью. Сегодня Билл Гейтс считается чуть ли не самым богатым человеком в мире. Но когда-то давно никто не мог предугадать в странном мальчике будущего гуру мира ИТ. Уже тогда Гейтс выделял для себя математику, игнорируя при этом другие предметы, неинтересные ему. Ровесники подсмеивались и откровенно издевались над чудаковатым одноклассником, дав ему прозвище «con». На подростковом сленге это означает «заучка» или попросту «ботаник».
В жизни часто так бывает, что подобные гонения со стороны школьников мотивируют молодых людей раньше обретать самостоятельность и стремиться получить определенный статус. Тем самым человек хочет доказать всему миру его неправоту в отношении себя. Возможно, именно обида на ровесников и привела к тому, что Гейтс запретил создавать в Windows папку с ненавистным ему словом. Правда, такая версия все же сомнительна. Билл Гейтс своей судьбой и так доказал всем, что «ботаник» превратился в успешного и богатого человека, чья история успеха изучается в бизнес-школах по всему миру.
♥ ПО ТЕМЕ: 32- или 64-битная Windows: какая разница и какую систему нужно устанавливать?
Почему Windows запрещает создавать папку «con» на самом деле
Для поиска ответа на этот странный вопрос стоит обратиться к истории компании Microsoft. Ее операционная система MS-DOS вышла в 1981 году. Окончательно разработка продукта закончилась в 2000 году, к тому времени вышло уже 8 версий операционной системы. На тот момент MS-DOS являлась главным продуктом компании, сделав ее одним из лидеров растущего ИТ-рынка. Постепенно Microsoft из небольшой компании превратилась в огромную корпорацию.
А тогда в MS-DOS слову «con» был придан важный функционал – имя являлось служебным и было зарезервировано системой для устройств ввода и вывода. В современных версиях Windows имя «con» по прежней памяти считается системным. Надо сказать, что оно не единственное такого же рода. Нельзя называть каталоги словами nul, aux, prn и некоторыми другими подобными. В свое время эти имена тоже были выделены MS-DOS для своих функций. Например, слово nul для системы это «ничто», своеобразная «черная дыра». Так что очевидно, что проблема с созданием папки «con» в Windows имеет не личностный мотив (хотя это была бы красивая история), а банальные исторические ограничения системы.
Смотрите также:
- Как ускорить Windows 10, 8 или 7, отключив ненужные службы операционной системы.
- Как автоматически переключать язык (раскладку) на клавиатуре в macOS или Windows.
- Что можно сделать из старого монитора? 12 идей.
В Windows нельзя создать файл или папку под именем «Con», ибо у Билла Гейтса в детстве было прозвище, Con — ботаник. И он постарался чтобы в его системе отсутствовали такие файлы и папки.
Не секрет, что в настоящее время Microsoft Windows является популярнейшей операционной системой, под которой работает подавляющее большинство пользователей во всем мире. Программное обеспечение, производимое компанией Microsoft, которая более тридцати пяти лет ведет успешную работу на мировом рынке, установлено на 90% компьютеров по всей планете. Начиная с 1975 года, когда два обыкновенных студента Пол Аллен и Билл Гейтц решили открыть собственную компанию по производству программного обеспечения, Windows из надстроек к MS-DOS превратилась в полноценную операционную систему, позволяющую выполнять множество самых разных задач. Такой успех не может не поражать воображение. Однако далеко не каждый пользователь знает, что используемая им операционная система имеет некоторые весьма занятные особенности. Например, желающий привычным способом создать папку с именем con, потерпит неудачу. В силу человеческой любознательности, практически каждый, кто слышит об этом впервые, непременно пробует попытать счастье, но не добившись результата, смиряется. И все же, мы не будем сдаваться и попытаемся выяснить, почему нельзя создать папку con в Windows. — Читайте подробнее на FB.ru: fb.ru/article/1281/pochem…ozdat-papku-con-v-windows.
Любители легенд и баек предлагают следующую версию того, почему нельзя создать папку con. Билл Гейтс, первый человек, образ которого всплывает в памяти при упоминании компании Microsoft и операционной системы Windows, один из богатейших людей в мире, в школьные годы казался окружающим довольно странным мальчиком. Он безумно любил математику и программирование и оставлял без малейшего внимания «ненужные», неинтересные ему предметы. Родители были обеспокоены таким странным поведением сына, а одноклассники смеялись над ним и дразнили. Одним из обидных слов, которым обзывали Билла, было слово con, в переводе означающее «ботаник» или «заучка». Многие из тех, кто подвергался гонениям со стороны одноклассников в школе понимают, как хочется поскорее вырасти, приобрести как можно более значимый статус, тем самым доказав обидчикам, как они были неправы. Версия, что папка с названием con в Windows никак не хочет создаваться именно потому, что Билл Гейтс был обижен на одноклассников, конечно, имеет право на существование, но вызывает массу сомнений. Должны быть какие-то более разумные доводы. К тому же, Гейтс и без этого уже доказал всем школьным недоброжелателям, что из ботаника может вырасти человек, известный всему миру. — Читайте подробнее на FB.ru: fb.ru/article/1281/pochem…ozdat-papku-con-v-windows.
На самом деле, задаваясь вопросом, почему нельзя создать папку con, стоит обратиться к истокам. Система MS-DOS увидела свет в 1981 году. С этого момента и до 2000 года, когда разработка продукта прекратилась, было выпущено восемь его версий. Именно благодаря этой операционной системе, являвшейся в тот период времени основным продуктом Microsoft, компания смогла развиться в крупнейшую корпорацию. В MS-DOS, в качестве надстроек к которой впервые появилась ОС Windows, слово «con» имело важное значение: это имя резервировалось системой для устройств ввода/вывода. Современная Windows по-прежнему воспринимает его как имя уже существующей системной папки. Между прочим, con — не единственное имя, которое не получится присвоить папке в Windows. Аналогичная ситуация существует и со словами nul, aux, lpt, prn и другими. Эти имена также были зарезервированы в MS-DOS для определенных функций. Например, слово nul интерпретируется системой как «ничто». Вот почему нельзя создать папку con. — Читайте подробнее на FB.ru: fb.ru/article/1281/pochem…ozdat-papku-con-v-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 воспринимается системой как «ничто». Так что виной тому не детские обиды, а системной надстройке.
Надеюсь было интересно, в следующей статье я расскажу о некоторых интересных самоделках
- Remove From My Forums
-
Вопрос
-
Почему нельзя создать папку con ?
Ответы
-
mdanshin написано: Почему нельзя создать папку con ?
Потому что con — это консоль. Объект, необходимый для поддержки NTVDM. Например, copy filename.txt con.
Точно так же нельзя использовать имена COM, LPT, AUX, NUL и проч. Это стандартное ограничение файловой системы:
File Names in Windows Server 2003
Every time you create a file with a long file name, NTFS creates a second file entry that has a similar 8.3 short file name. A file with an 8.3 short file name has a file name containing 1 to 8 characters and a file name extension containing 1 to 3 characters. The file name and file name extension are separated by a period.
File names in Windows Server 2003 can be up to 255 characters and can contain spaces, multiple periods, and special characters that are not allowed in MS-DOS file names. Windows Server 2003 makes it possible for other operating systems to access files that have long names by generating an MS-DOS-readable (8.3) name for each file. These MS-DOS-readable names also enable MS-DOS-based and Windows 3.x–based applications to recognize and load files that have long file names. When a program saves a file on a computer running Windows Server 2003, both the 8.3 file name and long file name are retained.
Note
• The 8.3 format means that files can have between 1 and 8 characters in the file name. The name must start with a letter or a number and can contain any characters except the following:
• . » / \ [ ] : ; | = , * ? (space)
• An 8.3 file name typically has a file name extension that is from one to three characters long and has the same character restrictions. A period separates the file name from the file name extension.
• Several special file names are reserved by the system and cannot be used for files or folders: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL.
Все ответы
-
Одно из зарезервированных имен в Windows. На самом деле можно создать.
Зачем этот рудимент остался — мне неизвестно. Наверное просто лениво было выбросить этот кусок кода.
-
mdanshin написано: Почему нельзя создать папку con ?
Потому что con — это консоль. Объект, необходимый для поддержки NTVDM. Например, copy filename.txt con.
Точно так же нельзя использовать имена COM, LPT, AUX, NUL и проч. Это стандартное ограничение файловой системы:
File Names in Windows Server 2003
Every time you create a file with a long file name, NTFS creates a second file entry that has a similar 8.3 short file name. A file with an 8.3 short file name has a file name containing 1 to 8 characters and a file name extension containing 1 to 3 characters. The file name and file name extension are separated by a period.
File names in Windows Server 2003 can be up to 255 characters and can contain spaces, multiple periods, and special characters that are not allowed in MS-DOS file names. Windows Server 2003 makes it possible for other operating systems to access files that have long names by generating an MS-DOS-readable (8.3) name for each file. These MS-DOS-readable names also enable MS-DOS-based and Windows 3.x–based applications to recognize and load files that have long file names. When a program saves a file on a computer running Windows Server 2003, both the 8.3 file name and long file name are retained.
Note
• The 8.3 format means that files can have between 1 and 8 characters in the file name. The name must start with a letter or a number and can contain any characters except the following:
• . » / \ [ ] : ; | = , * ? (space)
• An 8.3 file name typically has a file name extension that is from one to three characters long and has the same character restrictions. A period separates the file name from the file name extension.
• Several special file names are reserved by the system and cannot be used for files or folders: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL.
-
To Joker: ну ведь создать все равно можно в итоге, так на фига козе баян? =)
-
Во избежание возможных конфликтов. Если же некий умелец все-таки умудрится подсунуть японской бензопиле лом вместо полена — это уже его проблемы, а не изготовителя пилы.
-
Игорь, ну какие там конфликты, если мне нужна папка com1 на несистемном диске. =)
Ну да пес с ними, с проблемами. Пусть тогда прилепят хоть ошибку более адекватную происходящему. А то это же можно голову сломать, пытаясь понять, что такое «неверно задано имя папки».
-
Саша, тебе не нужна папка COM1 на несистемном и ни на каком другом диске. Поверь. Ты вполне обойдешься папкой COM_1
Ну смотри. Создал ты папку COM1. А потом выпил лишнего и напечатал в командной строке:
C:\>copy file.txt COM1
Куда система должна копировать файл — в папку или в порт?
Не надо пытаться свихнуть системе мозги. Это может получиться, но ничего хорошего из этого не получится.
И то, что твой пример с созданием папки работает, вот это как раз баг. Он не должен работать.
-
To Joker: а я не против. Заберите возможность создать. Если мы не можем выгнать павианов, нужно их узаконить. Просто ситуация когда «нельзя, но если сильно хочется, то можно» нарушает целостность моего мировосприятия. =)
-
Какие любопытные вещи ты читаешь, Ренат
-
Alexander Trofimov написано: To Joker: а я не против. Заберите возможность создать. Если мы не можем выгнать павианов, нужно их узаконить. Просто ситуация когда «нельзя, но если сильно хочется, то можно» нарушает целостность моего мировосприятия. =)
Упрямый ты.
То, каким образом ты создаешь папку, ничего на самом деле не сломает и не нарушит. Попробуй проделать следующие действия:
1. В командной строке:
C:\>mkdir \\.\C:\CON
2. Проверим в эксплорере, что папка создалась. Возьмем для примера какой-нибудь текстовый файлик text.txt в корне диска C: и скопируем эксплорером его в папку CON. Вроде получилось, да? Зайдем в папку — файлик на месте. Дважды кликнем его теперь для почитать? Эх, облом
3. После случившегося облома удалим файлик и пойдем другим путем: в командной строке наберем
C:\>copy text.txt CON
Постойте, а куда же это нам его скопировало? Блин, опять обломались
Мораль: павианам нельзя запретить нажимать на кнопки. Но большого значения их действиям придавать не стоит, если кнопки устроены правильно
-
Мораль то может и права. А вот создать в этой же папке файлы и работать с ними из эксплорера мне никто не мешает (во избежании: только что проверил — сохранил, открыл, изменил, сохранил — снова открыл =))) )
Мало того, я точно так же наберу copy 111.txt \\.\C:\temp\CON
И получу в целевой папке нужный файлик и смогу прекрасно его там покликать и поредактировать.
Эксплорером у меня точно так же все копируется и кликается =)
Прошу объяснения =)
-
Alexander Trofimov написано: А вот создать в этой же папке файлы и работать с ними из эксплорера мне никто не мешает (во избежании: только что проверил — сохранил, открыл, изменил, сохранил — снова открыл =))) )
Эксплорером у меня точно так же все копируется и кликается =)
Прошу объяснения =)
Это странно. Какая у тебя ОС? У меня в Висте при попытке открыть файл из папки C:\CON получается сообщение «Error: The directory name is invaild». Что меня, в принципе, не удивляет.
-
ну конкретно эта попытка на 2003м. Будет время сегодня — попробую на Vista