3.57. 1265. Точка в конце имени файла
Модератор: motyara
-
- Сообщения: 12
- Зарегистрирован: Пт июн 27, 2008 5:08 pm
3.57. 1265. Точка в конце имени файла
Shift+F4. Пишем (assadasdasd.) что угодно с точкой в конце имени файла. Получаем фейл в виде неудаляемого/нередактируемого файла. Пробовал под виндой 7 на самом себе и на шаре с 2012R2. Оба, естессно на NTFS. На домашнем кампе и в разных конторах/доменах AD. На самбе 4 (xfs) вообще содает какую-то фигню, но хоть самба дает за собой удалить. Воспроизводимость - 100%.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
На самом деле это никак не является багом файлового менеджера, ведь как пользователь сказал ему делать, так он и сделал. Просто есть некоторые ограничения, которые налагает на имя файлов файловая система. К этим ограничениям относятся не только точки в конце имени, но и максимальная длина имени файла 260 символов, а также запрет на следующие имена у файлов и каталогов:
Однако если пользователь скажет создать файл/каталог с одним из этих имен, Unreal Commander создаст его. И удалить он их тоже может, но удалять нужно не в в режиме "удаление в корзину", а в режиме "удаление с диска" (Shift+F8 или Shift+Del). Кстати именно "удаление с диска" желательно использовать для достижения максимальной скорости удаления.
Код: Выделить всё
con, prn, aux, nul, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, com1, com2, com3, com4, com5, com6, com7, com8, com9
-
- Сообщения: 12
- Зарегистрирован: Пт июн 27, 2008 5:08 pm
Re: 3.57. 1265. Точка в конце имени файла
Да, я в курсе про такие ограничения, но ранее не замечал, что UC дает создавать файлы с точкой на конце. Я почти всегда удаляю через шифт+дел в винде, но не прокатило.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
-
- Сообщения: 12
- Зарегистрирован: Пт июн 27, 2008 5:08 pm
Re: 3.57. 1265. Точка в конце имени файла
Спасибо, помогло.
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Версия 2.02 спокойно убирает точку в конце имени, как и пробелы.
А вот 3.57 одновременно выдаёт сообщение об ошибке (Не удается создать файл.) и создаёт файл с точкой в конце, который не может удалить.
С пробелом ситуация аналогичная.
Кроме того, при попытке удаления файла с пробелом в конце имени не отображается сообщение об ошибке - просто файл не удаляется.
Предлагаю всё-таки исправить.
А вот 3.57 одновременно выдаёт сообщение об ошибке (Не удается создать файл.) и создаёт файл с точкой в конце, который не может удалить.
С пробелом ситуация аналогичная.
Кроме того, при попытке удаления файла с пробелом в конце имени не отображается сообщение об ошибке - просто файл не удаляется.
Предлагаю всё-таки исправить.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Код в этой функции вероятно остался без изменений, но возможно связано с тем что компилятор был другой.
Проблема исправляется включением unc-режима (команда "useunc=1"). По умолчанию он не включен лишь из идеи, что возможно при нем что-то работает хуже. Впрочем у меня этот режим включен всегда и ухудшений я не замечал (вероятно позже режим будет включен по умолчанию).