2009-06-30 18 views
87

Según tengo entendido, la limitación de 255 caracteres en una ruta de archivo es una limitación de Windows. ¿Cuál es el razonamiento para esto? Si es así, ¿se ha resuelto esto en Windows 7?¿Windows 7 ha corregido el límite de ruta de archivo de 255 caracteres?

En nuestras prácticas de integración continua, a menudo tenemos estructuras de proyecto profundamente anidadas y sería extremadamente útil poder ir más allá de 255 caracteres. En este momento, nos vemos obligados a estructurar nuestros proyectos de tal manera que no lleguen a este techo artificial.

+3

@Da vidHeffernan Pero ese 260 incluye el carácter nulo al final y el 'C: \\' al principio, por lo que solo se pueden usar 255 caracteres. –

+2

@DavidHeffernan Estaba equivocado. Microsoft a menudo cita la longitud como 256, que es lo que obtienes cuando restas correctamente, en lugar de 260, que es técnicamente el límite. –

+5

Este problema me enfurece. Todavía está presente en Windows 8.1. Parece que no puedo mover mis archivos, a pesar de que ALGUNA VEZ el archivo fue creado en primer lugar. Si encuentra alguna manera de crear archivos con más de 255 nombres de ruta de archivos, puede arruinar completamente la máquina de Windows de alguien. – Automatico

Respuesta

43

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

Esto explica que las versiones Unicode de las API de Windows tienen límites más altos, y la forma de permitir que eso.

+14

Pero una palabra de advertencia: hay un montón de código (principalmente utilidades del sistema de terceros y similares) que no funciona bien con rutas más largas.Puede tener problemas con eso si comienza a usar rutas más largas. –

+2

¿Es correcto este artículo? Hice una prueba simple con Windows Explorer y Windows Command Prompt en Windows 7 y no puedo crear rutas de archivos con más de 260 caracteres. ¿Microsoft no ha actualizado estas aplicaciones para usar las versiones Unicode de las API de Windows? – Templar

+7

Desafortunadamente, Windows Explorer en Windows 7 x64 aún está sujeto a este límite de ruta. Esto da la impresión de que todo el sistema operativo no ha superado este límite, cuando en realidad solo se trata de Windows Explorer que no se ha actualizado para funcionar con rutas más largas. Es posible que un administrador de archivos externo que use las últimas API pueda evitar esto. En última instancia, si un programa parece alcanzar el límite de ruta dependerá de si ese programa utiliza las API más recientes en Windows. – user1445967

22

Puede superar ese límite utilizando subst si es necesario.

+5

más información aquí: http://www.microsoft. com/resources/documentation/windows/xp/all/proddocs/en-us/subst.mspx? mfr = true –

+1

O robocopy que está integrado en Windows, basado en esta respuesta, http://stackoverflow.com/questions/ 29865863/how-to-move-folder-files-with-path-names-255-characters-in-windows-8-1? Lq = 1 – KAE

+3

Debe demostrar cómo y proporcionar un enlace a la documentación relevante. -1 –

15

Las soluciones no son soluciones, por lo tanto, la respuesta es "No".

Aún en busca de soluciones, aquí están las soluciones posibles: http://support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters

+1

Los elementos principales de windows incluyendo powershell, shell de Windows Explorer y utilidades cmd como del still no pueden manejar rutas que excedan los 250 caracteres, y no hay soluciones temporales el hecho de que las tecnologías básicas de Microsoft no manejan las rutas largas, a partir de 2016. La respuesta breve aquí es que hasta que Microsoft tenga sus retrasos colectivos en marcha, hay poco que podamos hacer. –

4

@ Cort3z: si el problema todavía está presente, esta revisión: https://support.microsoft.com/en-us/kb/2891362 debe resolverlo (de Win7 SP1 a 8.1)

+0

Esta es una gran solución. ¿Has tenido algún problema después de usarlo? –

Cuestiones relacionadas