Hay un sucesor para NTFS. Es NTFS :)
(NTFS mantuvo su nombre, pero las versiones más nuevas de Windows tienen versiones diferentes y mejoradas de NTFS)
Sin embargo, NTFS no es la razón del límite de longitud del nombre de archivo. Comprobar este enlace de microsoft . Copiaré la parte relevante, aunque es un poco larga para copiar desde otro lado.
Limitación máxima de longitud de trayectoria
En la API de Windows (con algunas excepciones analizadas en los párrafos siguientes), la longitud máxima de una ruta es MAX_PATH, que se define como 260 caracteres .
Una ruta local está estructurada en el siguiente orden: letra de unidad, dos puntos, barra diagonal inversa, componentes de nombre separados por barras diagonales inversas y un carácter nulo de terminación. Por ejemplo, la ruta máxima en la unidad D es "D: \ alguna cadena de ruta de 256 caracteres" donde "" representa el carácter nulo de terminación invisible para la página de códigos del sistema actual. (Los caracteres & lt; & gt; se utilizan aquí para mayor claridad visual y no pueden formar parte de una cadena de ruta válida).
Las funciones de E / S del archivo en la API de Windows convierten "/" a "\" como parte de la conversión del nombre a un nombre de estilo NT, excepto cuando se usa el prefijo "\? \" Como se detalla en las siguientes secciones.
La API de Windows tiene muchas funciones que también tienen versiones Unicode para permitir una ruta de longitud extendida para una longitud de ruta total máxima de 32.767 caracteres . Este tipo de ruta se compone de componentes separados por barras invertidas, cada uno hasta el valor devuelto en el parámetro lpMaximumComponentLength de la función GetVolumeInformation (este valor suele ser de 255 caracteres) Para especificar una ruta de longitud extendida, use el prefijo "\? \". Por ejemplo, "\? \ D: \ ruta muy larga".