Довжина імені файлу Windows 7 обмежена 129 символами


18

Я намагаюся правильно назвати MP3-файли, і потрапив довільну довжину 129 символів (а не 128?). NTFS підтримує 255 символів у назвах файлів, як це виправити?

Зоряні війни - 6 - Повернення джедаїв - 2 - 07 - Битва за Ендора 2, Лея поранена, Поєдинок починається, Бункер обганяє, Темний Сі.mp3


2
Краще не покладатися на дійсно довгі імена файлів, оскільки це може призвести до низки проблем. MP3 можуть мати вбудовані метадані у вигляді тегів ID3 ​​для цього та / або використовувати каталоги.
JamesRyan

3
Я відкриваю файли та списки відтворення; Я не використовую "медіа-бібліотеки". Мої колекції названі належним чином, у мене немає жодного файлу "1.mp3", і я не можу витримати людей занадто ледачих, щоб правильно називати файли; який "1.mp3", коли кожен альбом має принаймні одну доріжку. ಠ_ಠ
Іван

Відповіді:


13

Можливо, що ви перевищуєте загалом 260 символів для всієї назви шляху, включаючи символи зворотної косої риси.

Скільки символів на шляху, в тому числі назва файлу mp3?


1
Так, виявляється, перейменування файлів на диску без каталогів дозволяє довші імена. Досить кульга, що ім'я файлу та шляхи рахуються разом, а не відокремлюються.
Іван

5
константа MAX_PATH визначається як 260, а не 256
phuclv

Хоча папки мають максимум "247 знаків + <null>". Див stackoverflow.com/a/15971467/632951
Pacerier

34

У Windows по замовчуванням загальна довжина шляху не повинна перевищувати 260 символів ( drive+ :\+ 255 characters of filename+ null terminator+ , ймовірно , для остаточного \в разі , якщо шлях є каталогом або просто навіть округлення). Це була реліквія з епохи 8,3 імені DOS, де шлях із 260 символів - це дійсно глибокий шлях.

Можливо, ваш шлях до папки був дуже довгим, тому частина, яка залишилася для вашого імені файлу, становить всього 129. Якщо ви хочете довший шлях, у вас є кілька рішень:

Починаючи з Windows 10 , є ще один варіант , шляхом видалення обмеження MAX_PATH § . Ви можете ввімкнути це, встановивши HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabledв реєстрі чи встановіть Конфігурація комп’ютера> Адміністративні шаблони> Система> Файлова система> Увімкнути довгі шляхи NTFS у груповій політиці


Детальніше:

Максимальний шлях в 32 767 символів є приблизним, тому що \\?\префікс може бути розширений на довший рядок системою під час виконання, і це розширення стосується загальної довжини.

§ Починаючи з Windows 10, версія 1607, MAX_PATHобмеження було знято із загальних функцій файлів та каталогів Win32. Однак ви повинні відмовитися від нової поведінки.


Спасибі, Девід опублікував перший, і це спрацювало, але ви включили ресурси так +1.
Джон,

1
Аналогічне рішення - використовувати перехід. Перевірте schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Urhixidur

1
Я б також скористався цією відповіддю. Таким чином, ви можете зберігати свої файли там, де ви хочете, і все одно матимете змогу називати їх так, як хочете. Крім того, коли ви копіюєте їх на свій пристрій, це, швидше за все, не піклується про нерозумне обмеження Windows, оскільки вони мають дуже рівну ієрархію файлів і навіть не можуть використовувати ім'я файлу безпосередньо (наприклад, iPhone / iPad / iEtc використовує шістнадцятковий символів для імен файлів та перехресних посилань на індексний файл).
фірфокс

Максимальна кількість символів для імені файлу - 255 символів, а не 256
Едд

@Edd 255 символів + нульове припинення
phuclv

0

Windows 7 дозволить вам зберігати назви файлів довше 256 символів, включаючи імена шляхів, і до них також легко отримати доступ. Єдина невелика складність, з якою ви можете зіткнутися, це коли ви копіюєте їх з одного місця в інше, але вам з'явиться спливаюче вікно, яке запитає вас, чи хочете ви змінити ім'я файлу, а не копіювати файл чи зберегти його як є. Я завжди зберігаю його таким, яким він є, і ніколи не виникав жодних проблем. Я, мабуть, отримав пару сотень імен, які перевищують ліміт.


ні, це не дозволить вам зберігати файли довжиною понад 255 символів, оскільки це обмеження файлової системи
phuclv

шлях, однак, може бути трохи довшим (або набагато довшим після зняття обмеження MAX_PATH)
phuclv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.