Longueur du nom de fichier Windows 7 limitée à 129 caractères

18

J'essaie de nommer correctement les MP3 et j'ai atteint une longueur arbitraire de 129 caractères (pas 128?). NTFS prend en charge 255 caractères dans les noms de fichiers, comment puis-je résoudre ce problème?

Star Wars - 6 - Le retour du Jedi - 2 - 07 - Bataille d'Endor 2, Leia est blessé, le duel commence, le dépassement du bunker, Dark Si.mp3

John
la source
2
Il est préférable de ne pas se fier à des noms de fichiers très longs car cela peut entraîner un certain nombre de problèmes. Les MP3 peuvent avoir des métadonnées intégrées sous la forme de balises ID3 pour cela et / ou utiliser des répertoires.
JamesRyan
3
J'ouvre des fichiers et des playlists; Je n'utilise pas de "médiathèques". Mes collections sont correctement nommées, je n'ai aucun fichier "1.mp3" et je ne supporte pas les gens trop paresseux pour nommer correctement les fichiers; qui "1.mp3" lorsque chaque album a au moins une piste. ಠ_ಠ
John

Réponses:

13

Il est possible que vous dépassiez un total de 260 caractères pour l'ensemble du chemin, y compris les caractères barre oblique inverse.

Combien de caractères se trouvent dans le chemin, y compris le nom du fichier mp3?

David Paige
la source
1
Ouais, il s'avère que renommer les fichiers sur le lecteur sans répertoires permet des noms plus longs. Assez boiteux que le nom de fichier et les chemins soient comptés ensemble et non séparés.
John
5
la constante MAX_PATH est définie comme étant 260, et non 256
phuclv
Les dossiers n'ont cependant qu'un maximum de "247 char + <null>". Voir stackoverflow.com/a/15971467/632951
Pacerier
34

Sous Windows, la longueur totale du chemin par défaut ne doit pas dépasser 260 caractères ( drive+ :\+ 255 characters of filename+ null terminator+ probablement pour la finale \au cas où le chemin est un répertoire ou simplement pour un arrondi pair). C'était une relique de l'ère de 8.3 noms de DOS où un chemin de 260 caractères est un chemin vraiment profond.

Il est possible que votre chemin vers le dossier soit déjà très long, donc la partie restante pour votre nom de fichier est juste 129. Si vous voulez un chemin plus long, vous avez plusieurs solutions:

  • utilisez des noms de fichiers complets avec \\?\préfixe, de cette façon, vous pouvez utiliser un maximum de 32 767 caractères dans le chemin
  • renommer les dossiers du chemin pour le raccourcir
  • montez le dossier contenant le fichier dans un caractère de lecteur avec subst/ mountvol/ diskmgmt.msc . De cette façon, vous pouvez utiliser les 255 caractères maximum pour votre nom de fichier
  • créer une jonction / un lien symbolique vers un autre dossier moins profond sur le chemin. Vous ne pouvez pas créer de liens pour générer des lettres, donc vous ne pouvez pas obtenir de noms de fichiers tant que vous avez utilisé la méthode de montage

Depuis Windows 10, il existe une autre option en supprimant la limitation MAX_PATH § . Vous pouvez l'activer en définissant HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnableddans le Registre ou en définissant Configuration ordinateur> Modèles d'administration> Système> Système de fichiers> Activer les longs chemins NTFS dans la stratégie de groupe


Lire la suite:

Le chemin maximal de 32 767 caractères est approximatif, car le \\?\préfixe peut être étendu à une chaîne plus longue par le système au moment de l'exécution, et cette extension s'applique à la longueur totale.

§ À partir de Windows 10, version 1607, les MAX_PATHlimitations ont été supprimées des fonctions de fichier et de répertoire Win32 courantes. Cependant, vous devez accepter le nouveau comportement.

phuclv
la source
Merci, David a posté en premier et cela a fonctionné, mais vous avez inclus les ressources donc +1.
John
1
Une solution similaire consiste à utiliser une jonction. Consultez schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Urhixidur
1
Je préfère également utiliser cette réponse. De cette façon, vous pouvez conserver vos fichiers où vous le souhaitez, et toujours être en mesure de les nommer comme vous le souhaitez. De plus, lorsque vous les copiez sur votre appareil, cela ne se souciera probablement pas de la limitation stupide de Windows, car ils ont une hiérarchie de fichiers très plate et peuvent même ne pas utiliser directement le nom du fichier (par exemple, iPhone / iPad / iEtc utilise hex caractères pour les noms de fichiers et les références croisées à un fichier d'index).
phyrfox
Le nombre maximum de caractères pour un nom de fichier est de 255 caractères, pas 256
Edd
@Edd 255 caractères + terminaison nulle
phuclv
0

Windows 7 vous permettra d'enregistrer des noms de fichiers de plus de 256 caractères, y compris les noms de chemin d'accès, et ils sont également accessibles facilement. La seule petite difficulté que vous pouvez rencontrer est lorsque vous les copiez d'un endroit à un autre, mais une fenêtre contextuelle vous demandera si vous souhaitez modifier le nom de fichier, ne pas copier le fichier ou l'enregistrer tel quel. Je le sauvegarde toujours tel quel et je n'ai jamais eu de problème. J'ai probablement quelques centaines de noms de fichiers qui dépassent la limite.

Bourru
la source
non, cela ne vous permettra pas d'enregistrer des fichiers de plus de 255 caractères car c'est la limite du système de fichiers
phuclv
le chemin peut cependant être légèrement plus long (ou beaucoup plus long après la suppression de la limitation MAX_PATH)
phuclv