Pregunta

¿Por qué no puedo crear un camino profundo cuyos caracteres en ruta es más de 255 en sistema de archivos NTFS? Parece un límite de FAT32, pero también existen en NTFS? ¿Alguien puede proporcionar algunos documentos?

Muchas Gracias!

¿Fue útil?

Solución

La limitación de 260 caracteres no es una limitación del sistema de archivos, sino de la API de Win32. Win32 define MAX_PATH como 260, que es lo que el API está utilizando para comprobar la longitud de la trayectoria pasado a funciones como FileCreate, FileOpen, etc. (que son utilizados por .NET en el BCL).

Sin embargo, puede pasar por alto las reglas de Win32 y crear caminos de hasta 32K caracteres Básicamente es necesario utilizar el "\\ \ C: \ MyReallyLongPath \ archivo.txt". Sintaxis que se puede no han visto antes. Que yo sepa, el Archivo y clases FileInfo en .NET que impidieron el uso de este tipo de camino, pero definitivamente se puede hacer desde C / C ++. Aquí hay un enlace para obtener más información.

http://msdn.microsoft.com/en -US / library / aa365247 (VS.85) .aspx

Otros consejos

Citado de Wikipedia

  

Los nombres de archivos se limitan a   255 UTF-16 palabras de código. ciertos nombres   están reservados en la raíz del volumen   directorio y no puede ser utilizado para   archivos. Estos son: $ MFT, su espejo $,   $ Archivo de registro, $ de volumen, $ AttrDef,. (punto),   $ Mapa de bits, $ Boot, $ BadClus, $ Secure,   $ Upcase y $ Extender; [3]. (Punto) y   $ Extend son ambos directorios; el   otros son archivos. Los límites del núcleo NT   rutas completas a 32.767 códigos UTF-16   palabras.

http://en.wikipedia.org/wiki/NTFS

Doc . Por supuesto que debe ser capaz de crear rutas de los archivos de más de 255 bytes, siempre que cada componente de la ruta individuo es menor que. Sin embargo, usted debe utilizar las versiones Unicode (W) de las llamadas de acceso a archivos para obtener este comportamiento; si usted está utilizando el estándar ANSI (A) interfaces basadas en byte, como los utilizados por stdio, se le pegan con las limitaciones de la interfaz antiguo camino pre-Unicode.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top