• Авторизация


Создать файл с именем COM1 27-01-2008 05:23 к комментариям - к полной версии - понравилось!


Как-то однажды под Windows NT, на разделе NTFS, мой приятель создал файл с именем com1. После этого он забыл, как создал этот файл.

Что мы только с ним потом ни пробовали, чтобы его удалить! Ни explorer, ни команда del, ни Volkov Commander, ни FAR - никто не мог и не хотел удалять этот файл. Программы исправления дисков ChkDsk и Нортон Диск Доктор не обнаруживали никаких проблем и поэтому ничего не исправляли. Мы попытались с помощью DiskEdit найти в структурах файловой системы имя этого файла, чтобы "вручную" его переименовать, но тоже обломались - ничего не нашли. Мы ведь тогда не знали, что имена файлов в NTFS хранятся в двухбайтной кодировке Unicode - и искали в однобайтной ASCII. Приятель тогда даже предположил (слухи ходили), что имена файлов в каталогах NTFS хранятся в виде двоичного дерева - чтобы ускорять поиск. Поэтому в "голом виде" их на диске, дескать, и не найдешь.

Плохо было дело. Но однажды все-таки я нашел способ удалить этот файл. Можете ли вы себе представить, какое это было облегчение! :)

Некоторые скажут, что я в "диспетчере устройств" переназначил номер последовательному порту, освободив имя COM1. Нет, неправильно. Во-первых, в Windows NT еще не было "диспетчера устройств", в котором можно было бы переназначить имя последовательного порта. Во-вторых, описываемый способ работает с любыми "запрещенными" именами файлов, даже такими, которые принципиально нельзя переназначить, вроде "nul", "aux", "prn".

Итак, внимание, ответ :)

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

\\.\C:\Myfolder\COM1

Попробуйте - будет весело! Можно даже пошутить с другом - создать ему такой файл где-нибудь в глубоком подкаталоге, который он вскоре намеревается удалить :)

Что любопытно - новые версии FAR Manager удаляют такие файлы без лишних вопросов. Молодцы разработчики - предусмотрели!
вверх^ к полной версии понравилось! в evernote
Комментарии (8):
Humiliating 04-06-2008-21:38 удалить
а баян с папкой con не расковырян или я дремучь как мамонт?
Optical_Race 08-06-2008-17:45 удалить
Humiliating, что именно не создаеццо? И что это у тебя вообще за операционка и какое отношение имеет она к созданию файлов на локальных дисках в винде?
Humiliating 09-06-2008-20:35 удалить
Optical_Race, Я создавал файл СОМ1 в сетевом окружении,на вендовой машине, моя ось - цапля 04
Optical_Race 12-06-2008-19:10 удалить
Тогда я совсем не понимаю, к чему относится твоя фраза про "не создаецца". Может объяснишь по порядку, что и где ты создавал? И пробовал ли ты мой способ?
Humiliating 13-06-2008-12:19 удалить
Optical_Race, я открыл доступную на запись папку в сетевом окружении, в вендовом.

И скопировал в неё созданный на рабочем столе файл с именем com1

После выяснилось что он таки создался)
[699x437]


Комментарии (8): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Создать файл с именем COM1 | Optical_Race - Дневник Optical_Race | Лента друзей Optical_Race / Полная версия Добавить в друзья Страницы: раньше»