Sous Windows, quelle est la longueur maximale du nom de fichier considérée comme acceptable pour une application en sortie? (Mis à jour et clarifié)

De nombreuses applications Windows (par exemple, presque toutes les applications .NET) ne peuvent pas ouvrir des chemins de plus de 260 caractères. Je renomme par lots une liste de fichiers de podcast. Je veux nommer chaque fichier après le titre de l’épisode, mais les titres peuvent comporter jusqu’à 100 caractères. Cela signifie que si un utilisateur enregistre le fichier dans un répertoire profond avec un très long chemin, il peut atteindre la limite et ne pas pouvoir ouvrir le fichier dans ces autres applications.

Est-il acceptable que mon programme mette des noms de fichiers aussi longtemps, et laisse à l’utilisateur le soin de gérer de très longs chemins à son arrivée? iTunes récolte à 40 caractères, mais cela semble très conservateur.

Merci à Ben Voigt d’avoir précisé que cela ne s’applique qu’à certaines applications.

Windows ne dispose PAS d’une limite de 255 caractères pour les chemins de fichiers.

CreateFileA a une limite de 260 caractères. CreateFileW prend en charge les noms jusqu’à environ 32760 caractères (64 Ko).

Certains systèmes de fichiers imposent des limites supplémentaires au niveau maximal d’imbrication des répertoires ou à la longueur maximale de chaque partie.

Vous pensez probablement à certains programmes Windows populaires qui ont une limite de 255 caractères, mais il est probablement plus approprié de prendre en compte ceux avec un avertissement ou un paramètre configurable par l’utilisateur que d’append votre propre limite matérielle .

Eh bien, je me souviens avoir un port USB qui ne supporte pas plus de 32 caractères dans le nom de fichier (ne peut pas me rappeler quel FS il avait). Je viens aussi de trouver ce lien sur Google: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

Les limitations du nombre de caractères peuvent également être différentes et peuvent varier en fonction du format de préfixe du système de fichiers et du nom de chemin utilisé. Cela est encore compliqué par la prise en charge de mécanismes de compatibilité descendante. Par exemple, l’ancien système de fichiers MS-DOS FAT prend en charge un maximum de 8 caractères pour le nom de fichier de base et 3 caractères pour l’extension, pour un total de 12 caractères, y compris le séparateur de points. Ceci est communément appelé un nom de fichier 8.3. Les systèmes de fichiers Windows FAT et NTFS ne sont pas limités aux noms de fichiers 8.3, car ils prennent en charge les noms de fichiers longs, mais ils prennent néanmoins en charge la version 8.3 des noms de fichiers longs.