Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Интерфейс - [решено] Ограничение длины имени файла - как бороться?

Ответить
Настройки темы
Интерфейс - [решено] Ограничение длины имени файла - как бороться?

Ветеран


Сообщения: 507
Благодарности: 4


Конфигурация

Профиль | Отправить PM | Цитировать


Граждане, я поставлен в тупик маразмом семерки.. Какого черта в ней стоят примитивные ограничения длины имени файла?
К примеру, есть фильмы в коллекции. Один из них -

Диск D:, папка Films, название папки с фильмом -

Святые из бундока 2 - День всех святых @ The Boondock Saints II - All Saints Day (2009, боевик, триллер, драма, комедия, криминал, BD-REMUX 1080 P)
В ней находятся материалы разного рода (постеры и т.п.), а также сам фильм с названием
Святые из бундока 2 - День всех святых @ The Boondock Saints II - All Saints Day (2009, боевик, триллер, драма, комедия, криминал, BD-REMUX 1080 P) video.mkv

При таком раскладе файл открыть невозможно ни для воспроизведения, ни для того, чтобы даже его попросту переименовать. Приходится имя папки указывать очень короткое, тогда файл становится доступен для воспроизведения и прочих действий..
Как можно бороться с этим?
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:35, 11-05-2011

 

Аватара для Phoenix

Ветеран


Сообщения: 1617
Благодарности: 247

Профиль | Отправить PM | Цитировать


Диск Д отформатирован в какую файловую систему - FAT что-ли?

Отправлено: 20:04, 11-05-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 507
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png Безымянный.png
(47.4 Kb, 52 просмотров)

НТФС
Был бы фат - не спрашивал бы...

Отправлено: 20:12, 11-05-2011 | #3


Аватара для Phoenix

Ветеран


Сообщения: 1617
Благодарности: 247

Профиль | Отправить PM | Цитировать


Глючат таким образом только файлы с расширением .mkv?

Отправлено: 20:21, 11-05-2011 | #4


Ветеран


Сообщения: 507
Благодарности: 4

Профиль | Отправить PM | Цитировать


Проверил - не только...

Отправлено: 20:35, 11-05-2011 | #5


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


Цитата flower:
Как можно бороться с этим? »
Только укорачиванием имён. Обходных путей не существует.
Какая длина имени файла допустима?

Цитата flower:
я поставлен в тупик маразмом семерки.. »
А встречали больше? Filename - Wikipedia, the free encyclopedia
Цитата flower:
Какого черта в ней стоят примитивные ограничения длины имени файла? »
Имена файлов в разных системах

Последний раз редактировалось Morpheus, 11-05-2011 в 21:17.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:11, 11-05-2011 | #6


Пользователь


Сообщения: 52
Благодарности: 2

Профиль | Отправить PM | Цитировать


Morpheus,
В теме стоит "решено", но я бы подкорректировал вот в каком смысле.

В ситуации аналогичной flower, я для эксперимента (был повод) скачал mp3 файл с длинным именем по о-о-чень длинному пути (полный путь больше 400 символов), причём uTorrent написал "Ошибка: Write to disk: Системе не удаётся найти указанный путь", но файл распределил и сохранил!. Кликнул я в него и он стал проигрываться! Но вот скопировать такую структуру или файл куда-нибудь даже в сторону уменьшения (но более 260 символов) общего пути или открыть в какой-нибудь программке через диалог "Open file" может не получиться.
См.
Ваша ссылка Какая длина имени файла допустима? даёт неточную/неполную информацию, точнее написано вот здесь Naming Files, Paths, and Namespaces
Ведь есть функции API с UNICODE версиями, обидно, что explorer их, судя по всему не использует. А выглядит это в описанной ситуации как реальный глюк, я бы даже сказал - маразм - файл-то можно использовать, но...
Хотя общая рекомендация остаётся - не используйте длинные пути.

Ваше мнение?

ps. У меня Windows 7x64 Pro Rus SP1

Последний раз редактировалось student_j, 12-02-2013 в 05:07. Причина: Дополнить конфигурацию


Отправлено: 05:05, 12-02-2013 | #7


Покинул форум


Сообщения: 1
Благодарности: 0

Профиль | Цитировать



В теории ограничение на длину имени файла или папки в NTFS составляет 255 символов, но на практике Windows API ограничивает до 244 символов (мне удалось создать).
В теории ограничение на длину пути к файлу или папке в NTFS составляет 32767 символов, но на практике Windows API ограничивает до 245 символов (мне удалось создать).


ОГРАНИЧЕНИЯ НА ДЛИНУ ИМЕН И ДЛИНУ ПУТИ ФАЙЛОВ И ПАПОК В WINDOWS API
Понятия «путь» и «имя файла»
Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:\папка\подпапка\файл.расширение
Зарезервированные символы и имена
Большинство часто употребляемых символов разрешается использовать в имени файла. Имя файла не должно содержать „<” (знак меньше), „>” (знак больше), „:” (двоеточие), „«” (двойные кавычки), „/” (слеш), „\” (обратный слеш), „|” (вертикальная черта), „?” (вопросительный знак), „*” (звездочка), а также не может заканчиваться точкой или пробелом. Файлы также нельзя называть зарезервированными именами устройств: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7,COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT9.
Ограничения на длины имен файлов и путей
Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:\). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.
На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.

Как видно из статьи весь корень зла не в файловой системе а в Windows API.
Если ограничение на длину имени файла или папки в Windows API на практике в 244 символа меня вполне устраивает, то ограничение на длину пути к файлу или папке в Windows API на практике в 245 символов ни меня ни большинсто пользователей не устраивает.
У меня риторический вопрос к программистам :
Можно ли внести самодельные изменения в Windows API после включения "Службы активации Windows" через "Компоненты Windows" ???
Если возможно то как ???

Отправлено: 20:19, 17-03-2016 | #8


(*.*)


Сообщения: 36546
Благодарности: 6691

Профиль | Сайт | Отправить PM | Цитировать


Как обойти ограничение на длину пути при создании или копировании файла

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 21:28, 17-03-2016 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


12345qwerty12345, «самодельные изменения» были внесены много лет назад.

Naming Files, Paths, and Namespaces (Windows) — от слов:
Цитата:
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".
и ниже.

Отправлено: 22:18, 17-03-2016 | #10



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Интерфейс - [решено] Ограничение длины имени файла - как бороться?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58
какое ограничение на длину имени файла для серверов? хочу дописать в название файлов rizz Вебмастеру 4 08-05-2008 22:51
Недопустимая длинна имени файла - как переименовать blqs Хочу все знать 4 19-10-2007 08:15
[решено] Как запрепить запуск программы по имени файла AlxCruel Microsoft Windows 2000/XP 10 05-04-2006 08:58
Как получить имя текущего пользователя для использования его в имени файла Denchik Автоматическая установка Windows 2000/XP/2003 1 25-01-2006 22:33




 
Переход