¿Cuál es la ruta de archivo más larga que Windows puede manejar?
57
Longitud máxima de ruta (desde MSDN)
En la API de Windows (con algunas excepciones discutidas en los siguientes párrafos), la longitud máxima para una ruta es MAX_PATH, que se define como 260 caracteres . Una ruta local se estructura en el siguiente orden: letra de unidad, dos puntos, barra diagonal inversa, componentes 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: \ <una cadena de ruta de 256 caracteres> <NUL>" donde "<NUL>" representa el carácter nulo de terminación invisible para la página de códigos del sistema actual. (Los caracteres <> se usan aquí para mayor claridad visual y no pueden ser parte de una cadena de ruta válida).
Ruta del archivo XP: 250 caracteres
Ruta del archivo Vista - 260 caracteres
La ruta más larga en una instalación limpia de Windows XP es de 152 caracteres.
La ruta más larga en una instalación semi-limpia de Windows Vista es de 195 caracteres:
Windows XP permite nombres de archivo de hasta 255 caracteres de longitud
Windows Vista permite nombres de archivo aún más largos que contienen hasta 260 caracteres.
http://www.codinghorror.com/blog/archives/000729.html
fuente
La constante de Windows
MAX_PATH
es igual a 260 como dicen otras respuestas, sin embargo, la ruta más larga real es 32767.Ver aquí .
32k es mientras se usa UNICODE, pero ahora debemos usarlo, por lo que también deberíamos usar esa longitud máxima de ruta.
Además, puede consultar mi respuesta en SO, que explica algunas cosas más detalladas sobre la longitud máxima de la ruta.
fuente
El límite "clásico" es de 260 caracteres:
drive letter
+:\
+255 characters of filename
+\
(o para redondear) +null terminator
como se dice en las otras respuestasSin embargo, el límite interno real es de 32767 caracteres que se pueden lograr al agregar
\\?\
para obtener una ruta totalmente calificadaSi, por alguna razón, no se pueden usar rutas totalmente calificadas, se puede acceder a directorios más profundos montando en una letra de unidad con
subst
/diskpart
o creando una unión / enlace simbólico para acortar la rutaDesde Windows 10, el
MAX_PATH
límite también se ha eliminado, aunque no de forma predeterminadafuente