[X] NTFS path/file length exceeded

I often select several files in mp3tag and convert tags to filenames. This works a treat.

However, I have found that some other programs cannot load the files because the maximum path/filename in the NTFS filesystem is 255 characters. It seems that mp3tag happily renames files in long folder paths, but that this limit can be exceeded.

I'm not therefore sure if this is a bug (is some error/warning being ignored when a file is renamed?), or whether an extra configuration option could be added to warn if saving filenames that exceed some maximum size (should include the full pathname and filename in the size calculation).

Actually, the maximum filename + path length can be up to 32767 characters as defined by the NTFS specifications, 255 characters being the "branch" limit (each subfolder shouldn't have more than 255 characters). For some reason, the Windows shell is stupid. :stuck_out_tongue:

Anyways, I don't think this is a bug, but a lacking feature.

See http://support.microsoft.com/kb/177665/EN-US/
Win32 programs are limited to a 256-character string size limit because of the MAX_PATH variable.
The MAX_PATH constant is defined for Windows32 API in the WINDRES.H resp. DEFINES.H file as '#define MAX_PATH (260)', which includes the drive letter, colon, and root directory characters.

See http://blogs.msdn.com/junfeng/archive/2006/02/20/535875.aspx
Handling long path is hard. Win32 has a file name length limit of MAX_PATH (which is defined as 260). People are looking for ways to extend the limit, as the file system supports a file name up to 32767 characters long. Apparently this has huge AppCompat implication. As we can see from this example, current applications may already have difficulty handling file path within the MAX_PATH limit, let alone file name with 32767 characters long.

Keep in mind that the length of 32767 characters is in fact less then this range because there are stored unicode characters, which may have a size up to three or four 8-bit sequence-characters for one unicode character.

We had already this discussion here in the forum some time ago, anyway there was no change, and so there are repeatingly some users that stumble over this hurdle in Mp3tag filename creation.

As a workaround try to use the function $left(your_filepath_string,256) and do not put the result into the filename directly but put the result into a temporary tag field, which you can check by your eyes if the filepath would have been formatted well sized. Afterwards the last step is setting the %_filename% directly with the value from the temporary tag field.


See also this thread:
what is maximum number of characters allowed in filename?


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.