При работе в операционной системе Windows Vista в аналогичных случаях появляется диалоговое окно Переименование с сообщением «Указано неверное имя устройства».
Запрещенные имена
Если вы попытаетесь создать файлы или папки со следующими именами: con, nul, prn, AUX, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 (регистр букв — прописные буквы или строчные — значения не имеет), — система в таких случаях вместо введенного вами «запрещенного» имени выведет имя по умолчанию, например, Новая папка, или Текстовый документ, или Документ Microsoft Word. При этом Windows Vista выведет окно Переименование с сообщением «Указано неверное имя устройства».
Дело в том, что по «Соглашению об именованиях» эти символы и имена зарезервированы файловой системой для «внутренних» системных нужд, применять их пользователю запрещено.
Примечание. Применять для файлов и папок имена COM, COM10, COM11…, LPT, LPT10, LPT11… системой не возбраняется.
Имена файлов в FAT
В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже:
. «/ \ [ ]:; | = ,
Использование этих символов может привести к получению неожиданных результатов. Имя не должно содержать пробелов.
Соглашения именования в NTFS
Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением указанных ниже:
? «/ \ ≤> * | :
В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.
Можно ли обойти запреты файловой системы
Можно создать папки с зарезервированными именами с помощью Интерпретатора команд Windows, например:
— нажмите Пуск → Выполнить… → Запуск программы → cmd → OK;
— в открывшемся окне Интерпретатора команд после приглашения системы введите mkdir .\com1\ (Enter).
Будет создан каталог с именем com1.
Удалить его обычным путем вы не сможете: появится окно Ошибка при удалении файла или папки с сообщением Не удается удалить com1. Нет доступа. Диск может быть переполнен или защищен от записи, либо файл занят другим приложением или Н е удается удалить com1. Не удается найти файл. Проверьте правильность указания пути и имени файла.
Для удаления каталога com1 нужно ввести команду rmdir .\com1\ (Enter).
Системные папки
Также Windows не позволит переименовать или переместить системные папки, такие как «Documents and Settings» (в Vista — «Пользователи»), «Windows», «System32», «Program Files». Они необходимы для нормальной работы Windows (если каким-либо образом — не в среде Windows — их переименовать/переместить, то вы не сможете загрузить операционную систему).
регистр букв – прописные буквы или строчные – значения не имеет - тогда почему в тексте неравенство, сделали бы уж все прописными, чтоб лучше читалось.
не имеет), – система - лишнее тире.
эти символы и имена зарезервированы файловой системой для «внутренних» системных нужд
Дело гораздо глубже, и к файловой системе отношение не имеет. читать дальше →
Поэтому Примечание. Применять для файлов и папок имена COM, COM10, COM11…, LPT, LPT10, LPT11… системой не возбраняется. - некорректно. Не возбраняется как раз файловой системой, а ОС - возбраняется.
имена зарезервированы файловой системой для «внутренних» системных нужд, применять их пользователю запрещено
Как это запрещено?! Я что, не могу скопировать файл на LPT1? Запросто, если подключен принтер. Или на CON? Запросто, если хочу видеть его на консоли.
Вывод - довольно поверхностный обзор без понимания причин и следствий.
Оценка статьи: 2
0 Ответить
Не совсем точная информация: можно создавать папки и файлы с зарезервированными именами (на счет портов только не знаю), через консоль и хитрости составления путей к файлам.
Например, можно вот так:
mkdir .\nul\
(чтобы потом удалить, используйте rmdir .\nul\)
0 Ответить
Да, Вы правы! Спасибо за поправку!
Вероятно, есть и другие пути обхода запретов файловой системы…
Оценка статьи: 5
0 Ответить
виндоуз такая загадочная штука, что у нее очень хорошо получается саму себя наобманывать... так что я уверена, что есть. Это же запреты ос, а не файловой системы - другие ос на тех же файловых системах совершенно по-другому работают, Вы об этом там тоже где-то писали.)
0 Ответить
Статья действительно маловата. Автор не указал что формат имен 8.3 имеет место для FAT16 (которая изначально была в DOS, когда винда была не операционной системой, а всего лишь оболочкой - типа Windows 3.1) А вот если стоит FAT32, то там можно использовать 255 символов в именах.
Вообще FAT и NTFS принципиально(!) разные файловые системы, но это уже совсем другая статья.
А почему все-таки нельзя создавать имена с такими символами???
Ответ прост: например ":"
Нельзя применять т.к. оно используется при обращении к логическому диску типа "C: , D: , A: и т.д."
"\" используется для написания пути к каталогу или файлу типа "CWindows\win32.exe"
к сожалению про другие символы точно не расскажу, есть только подозрения.
0 Ответить
Полезная информация, спасибо. Частозадумывался, почему система так пишет, а времени посмотреть нет, ..
0 Ответить
Виндоуз вообще очень капризная дама.
А статья маловата, да и вступления не хватает.
0 Ответить