Папка «con» в Windows: почему нельзя создать директорию с таким названием?
Операционная система Windows нравится явно не всем. Чем иначе объяснить такое число пользователей macOS и Linux? В Window есть много неудобного, а порой даже и странного. Например, в этой системе почему-то нельзя создать папку с именем «con».
Почему нельзя создать папку «con» в Windows – легенда
Почему-то до сих пор Windows ассоциируют с Биллом Гейтсом, приписывая именно ему все основные недостатки системы. А ведь основатель компании давно уже отошел от ее управления, занимаясь в основном благотворительностью. Сегодня Билл Гейтс считается чуть ли не самым богатым человеком в мире. Но когда-то давно никто не мог предугадать в странном мальчике будущего гуру мира ИТ. Уже тогда Гейтс выделял для себя математику, игнорируя при этом другие предметы, неинтересные ему. Ровесники подсмеивались и откровенно издевались над чудаковатым одноклассником, дав ему прозвище «con». На подростковом сленге это означает «заучка» или попросту «ботаник».
В жизни часто так бывает, что подобные гонения со стороны школьников мотивируют молодых людей раньше обретать самостоятельность и стремиться получить определенный статус. Тем самым человек хочет доказать всему миру его неправоту в отношении себя. Возможно, именно обида на ровесников и привела к тому, что Гейтс запретил создавать в 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
В современном с ума сошедшем мире всё перевернулось с ног на голову нетбуки стали называть ноутбуками, каталоги именуют нынче папками (разделы наверно мамками:), вместо Ё пишут Е и пашло поехало 
Согласно Обзор файловых систем FAT, HPFS и NTFS в системе Windows нельзя обычным образом создать файлы и каталоги с именами:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Также в именах для файлов и каталогов нельзя использовать символы:
На самом деле файлы и каталоги с запрещёнными (зарезервированными) именами создать можно, если очень хочется:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Лучше не пытаться свернуть мозги системе, а то гляди может и получиться. Всех с новым годом, желаю всем в новом году счастья, здоровья и всяческих баг, тьфу ты. т.е. благ!;))
Ссылки по теме:
Рекомендуемый контент
А тут же ж мог быть рекомендуемый контент от гугла 
Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).
Как нельзя называть папки и файлы в windows и почему
С давних времен по просторам интернета ходит одна легенда, что когда Билл Гейтс был школьником, то над ним издевались некоторые ровесники, которые дали ему кличку CON и постоянно оскорбляли его этим прозвищем. Con переводится по-нашему как «Очкарик, ботан, заучка и т.д.». И эта детская обида настолько въелась в сознание старины Билла, что когда вышел windows, то он позаботился о том, что никто не сможет создать файл или папку с названием CON.
Да. В Windows нельзя назвать папку или другой документ с именем con. Попробуйте сами. В зависимости от версии windows вам выдастся ошибка или просто встанет предыдущее название.
Правда вряд ли всю эту манипуляцию старина Билли проделал для того, чтобы отомстить детским обидчикам. Так что легенда остается легендой. Правда, если честно, когда я услышал эту историю, то сам поверил и очень долго думал, что это правда. А вы сами слышали эту версию? Я думаю, что многие наслышаны. А как вы думаете, почему это слово нельзя использовать как имя для файла и папки?
На самом деле вся эта котовасия идет еще со времен MS-DOS и начала восьмидесятых. Это имя резервировалось самой системой для устройств ввода и вывода, т.е. клавиатуры, мыши и т.д. Само слово CON означает сокращение от слова Console, т.е. консоль. В Windows это имя также резервировалось системой, поэтому ни один файл или папка не могли иметь это имя.
Кроме CON вы не сможете создать файлы и папки с именами PRN (Принтер), COM1, COM2, AUX, NUL (Пустое значение), LPT1, LPT2 и др. Все эти имена зарезервированы нашим любимым виндовс и для обычного пользователя они не доступны.
Обход этой ситуации
Можно, конечно, пойти на маленькую и хитрость и всё таки создать файл или папку с этим именем.
Папка создастся, но войти в нее и работать с ней вы всё равно не сможете. Даже удалить не сможете и она навсегда останется на вашем компьютере и с каждым днем ее размер будет увеличиваться и пожирать ваши файлы. Куда-то меня понесло. Конечно же я шучу. Удалить ее можно, но только опять же через командную строку. На сей раз нужно прописать в ней следующее: rd \\?\C:\con (Где C:\con — это путь к папке).
Ну а вообще не занимайтесь фигней. Можно и создать папку Con, чтобы в ней работать, но оно вам надо? Не думаю. Так ради прикола можно поиграться. Лучше подумайте о защите ваших файлов. Из-за разных не всегда зависящих от вас факторов вы сможете потерять всю важную информацию (вирусы, неправильная работа, случайное удаление, поломка жесткого диска и т.д.). Для того, чтобы не потерять чего-то очень важного, посмотрите этот видеокурс. Всё расписано по полочкам и разберется даже абсолютный «ноль».
Ну а вообще легенда про CON прикольная. Мне она очень нравилась, довольно интересно всё сопоставляется. С такими прикольными мифами интереснее жить, так что не стыдно не знать всю правду.
Ну вот вроде и расслабились. Понравилась статья? Тогда не забудьте подписаться на обновление статей моего блога и про социальные сети не забудьте! Всем удачи и пока-пока!
Блог молодого админа
Увлекательный блог увлеченного айтишника
Почему нельзя создать папку с именем con?
Странный вопрос, не так ли? Однако пользователи рунета задают его достаточно часто, поскольку ответа на него не знают. Да и потом, зачем понадобился запрет на создания папки с названием Con? Неужели в этом есть что-то сверхсекретное и ответ знают только люди, работавшие над операционной системой Windows? Отнюдь, все гораздо проще.
Билл Гейтс является одним из самых известных разработчиков программного обеспечения в мире. Почему он стал таким известным? Вероятно, дело кроется в его состоянии — за свою жизнь он умудрился заработать более полусотни миллиардов долларов. И все-таки не только деньги сделали его знаменитым, речь также идет о созданной им компании Microsoft, выпускающей различные программы для компьютеров. Больше всего компания прославилась благодаря операционной системе Windows, которой пользуется большинство обладателей компьютеров и ноутбуков. И именно в ней есть множество странных и забавных на первый взгляд недоработок, вроде той, которой посвящена данная статья.
Но вернемся к основной теме. Существует легенда, которая гласит, что некогда очень давно, когда юный Гейтс начал учиться в школе, он отличался от других ребят. Так, со многими из них он не мог найти общий язык, а еще отменно учился, в результате чего ему постоянно давали различные клички. Одной из них было слово Con — оно переводится как «ботаник». Понятное дело, что для Гейтса ничего хорошего в этом прозвище не было и он его невзлюбил и, как поговаривают, даже возненавидел. Впоследствии, когда он приступил к созданию ОС MS-DOS, то вспомнил о своей кличке и решил добавить слово в исключения, в результате чего пользователь не смог бы создать папку с таким именем. Однако сейчас, по прошествии множества лет, стало понятно, что версия эта является не более, чем чьей-то выдумкой. Откуда мы это знаем? Западные источники указывают, что герой нашей статьи на самом деле не так хорошо учился в школе, как принято думать. Более того, поговаривают, что он даже был отчислен за неуспеваемость, что, впрочем, не помешало ему стать миллиардером.
А на самом-то деле все куда проще. Оказывается, что еще при проектировании MS-DOS в файловой системе Биллом были прописаны папки, которые можно было создать только один раз и использовались они для нужд самой системы. Так, помимо папки CON нельзя прописывать многие другие имена, например: PRN, NUL, AUX, LPT0, LPT1, COM1, COM2 и так далее.
Что интересно, даже после создания ОС Windows программисты почему-то решили не исправлять этот странный «баг», поэтому сегодня его можно встретить на всех операционных системах «Виндовс», разве что за исключением последних: Vista, 7 и 8.
Можно ли обмануть систему?
Как выясняется, сделать это можно, причем сразу несколькими различными способами.
В конце статьи хотелось бы упомянуть, что в ОС Windows можно обнаружить очень много всевозможных секретов и «багов». Однако относиться к ним нужно предельно внимательно, ведь в случае, скажем, изменения параметров, система может просто перестать функционировать. Надеемся, до такого у вас не дойдет.
Комментарии к записи “ Почему нельзя создать папку с именем con? ”
Вроде ее можно как-то создать, мне друг показывал и у него получилось. Но алгоритм действия я не запомнил.
в восьмерке нельзя создавать папки с этими именами, проверено.
Это адреса портов железа. Нельзя создать не только папку, но и файл (без расширения) с таким именем потому, что они уже существуют и доступны для чтения/записи.
Именование файлов, путей и пространств имен
все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Windows разработчики, работающие с Windowsными api-интерфейсами для файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и сетевых ресурсов с помощью API файлового ввода-вывода. Файлы и каталоги вместе с пространствами имен являются частью концепции пути, которая представляет собой строковое представление места получения данных независимо от диска, устройства или сетевого подключения для конкретной операции.
Некоторые файловые системы, такие как NTFS, поддерживают связанные файлы и каталоги, которые также следуют соглашениям об именовании файлов и правилам, как обычный файл или каталог. Дополнительные сведения см. в разделах жесткие связи, соединения и точки повторного анализа и операции с файлами.
Дополнительные сведения см. в следующих подразделах:
дополнительные сведения о настройке Windows 10 для поддержки длинных путей к файлам см. в разделе ограничение максимальной длины пути.
Имена файлов и каталогов
Ограничения количества символов также могут быть разными и могут различаться в зависимости от используемого формата префикса файловой системы и имени пути. Это усложняется за счет поддержки механизмов обратной совместимости. Например, более старая файловая система MS-DOS FAT поддерживает не более 8 символов для базового имени файла и 3 символа для расширения, а всего 12 символов, включая разделитель точек. Обычно это называется именем файла 8,3. Windows файловые системы FAT и NTFS не ограничиваются 8,3 именами файлов, так как они имеют длинную поддержку имен файлов, но по-прежнему поддерживают версию 8,3 длинных имен файлов.
Соглашения об именах
Следующие фундаментальные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы.
Используйте точку, чтобы отделить базовое имя файла от расширения в имени каталога или файла.
Используйте обратную косую черту ( \ ) для разделения компонентов пути. Обратная косая черта разделяет имя файла от пути к нему и одно имя каталога из другого имени каталога в пути. Нельзя использовать обратную косую черту в имени для фактического файла или каталога, так как это зарезервированный символ, разделяющий имена в компоненты.
Не думайте о чувствительности к регистру. Например, имена OSCAR, OSCAR и OSCAR должны быть одинаковыми, даже если некоторые файловые системы (такие как POSIX-совместимая файловая система) могут считать их разными. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Дополнительные сведения см. в разделе CreateFile.
Обозначения томов (буквы диска) не учитывают регистр. Например, «D: \ » и «d: \ » ссылаются на один и тот же том.
Используйте любой символ в текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128 – 255), за исключением следующих:
Следующие зарезервированные символы:
Символы, целочисленное представление которых находится в диапазоне от 1 до 31, за исключением альтернативных потоков данных, в которых разрешены эти символы. дополнительные сведения о файловых потоках см. в разделе file Потоки.
Любой другой символ, который не разрешен целевой файловой системой.
Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Используйте две последовательные точки (..) как компонент каталога в пути, чтобы представить родителя текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Не используйте следующие зарезервированные имена для имени файла:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также Избегайте этих имен сразу после расширения; Например, не рекомендуется использовать NUL.txt. Дополнительные сведения см. в разделе Пространства имен.
Не завершайте имя файла или каталога с пробелом или точкой. хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс не поддерживаются. Однако можно указать точку в качестве первого символа имени. Например, «. temp».
Короткие и длинные имена
Длинное имя файла считается любым именем файла, которое превышает короткое соглашение об именовании в стиле MS-DOS (также называемое 8,3). при создании длинного имени файла Windows также может создать короткую форму 8,3 имени, именуемую псевдонимом 8,3 или коротким именем, а также сохранить ее на диске. Это 8,3 может быть отключено для повышения производительности в зависимости от конкретной файловой системы.
Windows server 2008, Windows Vista, Windows Server 2003 и Windows XP: 8,3 псевдонимы не могут быть отключены для указанных томов до Windows 7 и Windows Server 2008 R2.
Во многих файловых системах имя файла будет содержать символ тильды (
) в каждом компоненте имени, которое слишком длинное для соответствия правилам именования 8,3.
Не все файловые системы следуют соглашению о подстановке тильды, и системы могут быть настроены на отключение создания псевдонима 8,3, даже если они обычно поддерживаются. Поэтому не следует предполагать, что псевдоним 8,3 уже существует на диске.
Чтобы запросить 8,3 имен файлов, длинных имен файлов или полного пути к файлу из системы, рассмотрите следующие варианты.
в новых файловых системах, таких как NTFS, exFAT, udf и FAT32, Windows сохраняет длинные имена файлов на диске в юникоде, что означает, что исходное имя длинного файла всегда сохраняется. Это справедливо даже в том случае, если длинное имя файла содержит символы национальных алфавитов, независимо от того, какая кодовая страница активна во время операции чтения или записи с диска.
файлы, использующие длинные имена файлов, можно скопировать между разделами файловой системы NTFS и Windows разделами файловой системы FAT без потери сведений об имени файла. Это может быть неверно для старых файлов MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM) в зависимости от фактического имени файла. В этом случае короткое имя файла подставляется по возможности.
Если компонент пути является именем файла, то он должен быть последним компонентом.
Каждый компонент пути также будет ограничен максимальной длиной, указанной для конкретной файловой системы. Как правило, эти правила делятся на две категории: Short и Long. Обратите внимание, что имена каталогов хранятся в файловой системе как файлы особого типа, но правила именования для файлов также применяются к именам каталогов. Для суммирования путь — это просто строковое представление иерархии между всеми каталогами, которые существуют для определенного имени файла или каталога.
Полные и относительные пути
для функций API Windows, которые управляют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторым api требуется полный путь. Имя файла задается относительно текущего каталога, если он не начинается с одного из следующих:
Если имя файла начинается только с обозначения диска, но не с обратной косой черты после двоеточия, то оно интерпретируется как относительный путь к текущему каталогу на диске с указанной буквой. Обратите внимание, что текущий каталог может быть или не являться корневым каталогом, в зависимости от того, на что он был установлен во время последней операции «изменение каталога» на этом диске. Ниже приведены примеры этого формата.
Путь также считается относительным, если он содержит «двойные точки»; то есть две точки вместе находятся в одном компоненте пути. Этот Специальный описатель используется для обозначения каталога над текущим каталогом, в противном случае известный как «родительский каталог». Ниже приведены примеры этого формата.
Относительные пути могут сочетать оба типа примеров, например «К. \tmp.txt «. Это полезно, поскольку, несмотря на то, что система отслеживает текущий диск вместе с текущим каталогом этого диска, она также следит за текущими каталогами на разных буквах диска (если в системе несколько), независимо от того, какой из обозначений установлен в качестве текущего диска.
Ограничение максимальной длины пути
Пространства имен
существует две основные категории соглашений о пространствах имен, используемых в Windows api, которые обычно называются пространствами имен NT и пространствами имен Win32. Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могут существовать другие подсистемы и пространства имен, включая подсистему Win32 и, по расширениям, пространства имен Win32. POSIX — это еще один пример подсистемы в Windows, построенной на основе пространства имен NT. ранние версии Windows также определили несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как порты связи (последовательные и параллельные) и консоль экрана по умолчанию, как часть того, что теперь называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях Windows для обеспечения обратной совместимости.
Пространства имен файлов Win32
Префиксы и соглашения пространств имен Win32 приведены в этом разделе и в следующем разделе с описанием того, как они используются. обратите внимание, что эти примеры предназначены для использования с функциями API Windows и не всегда работают с приложениями оболочки Windows, такими как Windows Explorer. по этой причине существует более широкий диапазон возможных путей, чем обычно доступно в Windows приложениях оболочки, а Windows приложения, использующие его, можно разрабатывать с помощью этих соглашений по пространству имен.
Так как он отключает автоматическое расширение строки пути, \ \ префикс «? \ » также позволяет использовать «..» и «.» в именах путей, которые могут быть полезны при попытке выполнить операции с файлом, в противном случае зарезервированные описатели относительных путей в составе полного пути.
Обратите внимание, что для префикса «?» можно использовать только API-интерфейсы Юникод, что \ \ \ позволяет превысить максимальный _ путь
Пространства имен устройств Win32
при работе с функциями API Windows следует использовать \ \ префикс «. \ » для доступа только к устройствам, а не файлам.
Пространства имен NT
чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символьную ссылку (символьную ссылку) в пространстве имен Win32 «Global??» для соответствующих объектов устройств. Например, COM0 и COM1 в разделе «Global??» подкаталог — это просто символических ссылок Serial0 и Serial1, «C:» — это символьную ссылку до HarddiskVolume1, «отображается physicaldrive0» — символьную ссылку до DR0 и т. д. без символьную ссылку указанное устройство «Xxx» будет недоступно для любого Windows приложения, использующего соглашения о пространстве имен Win32, как описано выше. Однако для этого устройства можно открыть маркер, используя любые интерфейсы API, поддерживающие абсолютный путь к пространству имен NT формата » \ устройство \ xxx».






