Страница 1 из 1

3.57. 1265. Точка в конце имени файла

Добавлено: Пт дек 15, 2017 3:24 am
yosemity
Shift+F4. Пишем (assadasdasd.) что угодно с точкой в конце имени файла. Получаем фейл в виде неудаляемого/нередактируемого файла. Пробовал под виндой 7 на самом себе и на шаре с 2012R2. Оба, естессно на NTFS. На домашнем кампе и в разных конторах/доменах AD. На самбе 4 (xfs) вообще содает какую-то фигню, но хоть самба дает за собой удалить. Воспроизводимость - 100%.

Добавлено: Пт дек 15, 2017 8:13 am
Max Diesel
На самом деле это никак не является багом файлового менеджера, ведь как пользователь сказал ему делать, так он и сделал. Просто есть некоторые ограничения, которые налагает на имя файлов файловая система. К этим ограничениям относятся не только точки в конце имени, но и максимальная длина имени файла 260 символов, а также запрет на следующие имена у файлов и каталогов:

Код: Выделить всё

con, prn, aux, nul, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, lpt9, com1, com2, com3, com4, com5, com6, com7, com8, com9
Однако если пользователь скажет создать файл/каталог с одним из этих имен, Unreal Commander создаст его. И удалить он их тоже может, но удалять нужно не в в режиме "удаление в корзину", а в режиме "удаление с диска" (Shift+F8 или Shift+Del). Кстати именно "удаление с диска" желательно использовать для достижения максимальной скорости удаления.

Re: 3.57. 1265. Точка в конце имени файла

Добавлено: Пт дек 15, 2017 12:52 pm
yosemity
Да, я в курсе про такие ограничения, но ранее не замечал, что UC дает создавать файлы с точкой на конце. Я почти всегда удаляю через шифт+дел в винде, но не прокатило.

Добавлено: Пт дек 15, 2017 1:23 pm
Max Diesel
Похоже по умолчанию режим не включен. Выполните в командной строке команду "useunc=1", после этого должно удаляться корректно.

Re: 3.57. 1265. Точка в конце имени файла

Добавлено: Пт дек 15, 2017 6:14 pm
yosemity
Спасибо, помогло.

Добавлено: Чт янв 25, 2018 1:30 am
Qwertiy
Версия 2.02 спокойно убирает точку в конце имени, как и пробелы.

А вот 3.57 одновременно выдаёт сообщение об ошибке (Не удается создать файл.) и создаёт файл с точкой в конце, который не может удалить.
С пробелом ситуация аналогичная.

Кроме того, при попытке удаления файла с пробелом в конце имени не отображается сообщение об ошибке - просто файл не удаляется.

Предлагаю всё-таки исправить.

Добавлено: Сб янв 27, 2018 5:07 pm
Max Diesel
Qwertiy писал(а): Чт янв 25, 2018 1:30 am Версия 2.02 спокойно убирает точку в конце имени, как и пробелы.
Код в этой функции вероятно остался без изменений, но возможно связано с тем что компилятор был другой.
Qwertiy писал(а): Чт янв 25, 2018 1:30 am Кроме того, при попытке удаления файла с пробелом в конце имени не отображается сообщение об ошибке - просто файл не удаляется.

Предлагаю всё-таки исправить.
Проблема исправляется включением unc-режима (команда "useunc=1"). По умолчанию он не включен лишь из идеи, что возможно при нем что-то работает хуже. Впрочем у меня этот режим включен всегда и ухудшений я не замечал (вероятно позже режим будет включен по умолчанию).