Неожиданные трудности взаимодействия между Windows и Linux в части сетевых папок

Неожиданные трудности взаимодействия между Windows и Linux в части сетевых папок Windows, Полезное, Помощник, Программное обеспечение, Linux, Поиск файлов, Скриншот

Как-то понадобилось мне скопировать терабайтную папку на 500 000 файлов на сервер-хранилку. Из них около 100 файлов наотрез отказались копироваться — оказалось, Linux не нравится, что имя файла длинное. А с виду так и не скажешь. А дело вот в чем.

В отличии от Linux, лимитирующей длину имен файлов и папок 255-ю байтами (файловая система ext4 и подобные), Windows в своей файловой системе NTFS ограничивает имена 255-ю двухбайтовыми символами в кодировке UTF-16. Набранные кириллицей имена в Windows могут быть длиной до 255 знаков, что невозможно в Linux, так как каждый символ кириллицы тоже будет занимать по два байта (в этой ОС обычно применяется кодировка UTF-8), быстро исчерпывая лимит.

Делюсь с вами написанной мною программой FindLongFilenamesLinux, которая и предназначена для поиска и переименования таких файлов и папок с именами, превышающими лимит, которые невозможно скопировать из Windows на NAS на основе Linux (с файловой системой ext4 и подобными). Мне это оказалось удобнее, чем каждый раз пробегаться по некопируемым файлам через Total Commander. Хотя тут кому как, лично мне не жаль было потратить на написание программы пару часов, зная, что подобная задачка с файлами встрянет еще не раз)

Для запуска программы требуется компонент .NET Framework 4.8+ (в актуальных билдах Win10/11 стоит по умолчанию, в Win7/8 устанавливается автоматически вместе с обновлениями).

Программа (Assets->FindLongFilenamesLinux.zip): https://github.com/carpediem-av/FindLongFilenamesLinux/releases

Исходный код (C#): https://github.com/carpediem-av/FindLongFilenamesLinux

Сайт автора: http://carpediem.0fees.us

Программы и Браузеры

484 поста5K подписчик

Добавить пост

Правила сообщества

-Ставьте наши теги, если Ваш пост о программе, приложении или браузере(в том числе о расширениях, дополнениях в нему), его недоработке, баге, обновлении. Это может быть пост - обзор или отзыв.

-При возникновении споров относитесь с уважением друг к другу, а так же приводите аргументы.

Разрешено всё, что не запрещено правилами Пикабу.

Вы смотрите срез комментариев. Показать все
9
Автор поста оценил этот комментарий

Уже видел комменты схожие, но у меня тоже возникли вопросы:

1) почему это не в виде скрипта? Бегло поискал, нашел примеры скриптов транслитерации, а обрезку по длине и сверку на коллизию обрезанных имён это достаточно просто сделать. Ваше решение пахнет оверинженирингом.

2) Я бы это всё оформил в виде вопроса и ответа на stackoverflow / habr qna, на Пикабу это никому не нужно, и никакой поисковик никак это решение не найдет.

раскрыть ветку (2)
4
Автор поста оценил этот комментарий

1) Мне удобнее было так. И писать, и пользоваться потом. Почему другим неудобно - не знаю, может консоль больше любят, может думают если ".ехе" - то обязательно троян/вирус (хотя исходники я тоже выложил). Может думают, что реестр и систему "закакает" программа - тоже нет. Может у них семерки с выключенными обновлениями - ну, с Новым 2024 годом тогда вас еще разок. Ну а потом, если я хочу переименовать не автоматом, а сам осмысленно сократить имя - тут есть такая функция с подсчетом лимита. И длинные пути программа корректно понимает. И корректно такой файл покажет в Проводнике.

2) Я как-то больше люблю Пикабу)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Мы тут деградировать пришли а не вот это вот всё!
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку