Ruta de origen demasiado larga, PERO NUNCA HABÍA SIDO

4

Recibo el siguiente error al intentar copiar datos de mi disco duro externo en mi escritorio:

Los nombres de los archivos de origen son más largos de lo que admite el sistema de archivos. Intente moverse a una ubicación que tenga un nombre de ruta más corto, o cambie el nombre de ellos a nombres más cortos antes de intentar esta operación.

Y es realmente molesto, y ahora no puedo hacer ciertas cosas porque no puedo obtener esos archivos. Me gusta mantener mis cosas organizadas, pero parece que Windows no puede admitir ubicaciones largas, lo que significa que no puedo mantener las cosas tan organizadas como quiero. Pero esto nunca solía ser un problema. En mi vieja computadora, siempre estaba copiando estos archivos respaldados de aquí para allá y es solo desde que obtuve esta nueva PC (que se supone que es mil millones de veces mejor) que he encontrado este error.

Y renombrar archivos / carpetas a solo 1 letra hasta que los haya copiado no es la solución correcta. ¿Cómo puedo arreglar esto? ¿Y por qué tengo este problema en una PC de especificaciones más altas con la misma versión de Windows cuando NUNCA tuve este problema en mi PC de especificaciones más bajas con la misma versión de Windows?

NDEIGU
fuente
¿Qué sistema de archivos está usando su unidad externa?
David Schwartz
"Parece que Windows no puede admitir ubicaciones largas": en realidad, las rutas UNC pueden tener 32k caracteres de largo, pero debido a muchas funciones de API y, en consecuencia, incluso partes de Windows como cmd solo admiten MAX_PATH, y debido al temor de MS de romper la compatibilidad con versiones anteriores , en la práctica, 260 caracteres sigue siendo el límite.
Karan
@Karan sí. 260 caracteres ... ni de lejos lo suficiente. Puedo usar eso fácilmente: 045504052015 .045604052015 ..045704052015 ... etc. Y sí, en caso de que te lo estés preguntando, realmente necesito nombrarlos de esa manera. :)
NDEIGU
Sin duda, hay utilidades (no me pidas recomendaciones) que puedan lidiar con las rutas UNC, pero tendrás que apegarte a las que son difíciles.
Karan

Respuestas:

5

Puede estar anidado más profundo que antes si está utilizando las carpetas de usuario de Windows en C: \% HOMEPATH% \ Documents, etc. o cualquier otra razón.

Acoplar su estructura con nombres más cortos es realmente su única opción. Para limpiar el directorio ofensivo, asegúrese de tener sus archivos almacenados de forma segura en una nueva carpeta y limpie el antiguo de esta manera:

Use el comando incorporado ROBOCOPIA. No tienes que instalar nada. Cree la réplica de la carpeta incorrecta (d :) que está totalmente vacía (e :) en una unidad diferente. Luego ejecute robocopy con estos parámetros.

robocopy e:\folder d:\folder /Purge /E /S /R:0 /W:0

Dos recursos más que deberían ayudar:

Con la URL llamada irónicamente ... http://vimalsuresh.com/2013/08/08/how-to-fix-file-path-too-long-error-while-copying-deleting-or-opening-files- sin usar aplicaciones de terceros /

Y si no le gusta CMD, una utilidad para acceder a archivos que son demasiado largos (suponiendo que los haya respaldado) ... http://backupchain.com/DeleteLongPath.html

Allen Jackson
fuente
1
Gracias @Allen :) CMD es perfecto. No hay necesidad de GUI.
NDEIGU
0

Solo quería mencionar que no necesita cambiar ninguna carpeta o nombre de archivo , como sugiere la otra respuesta. Puede usar el comando robocopy, pero descubrí que el método más fácil (aunque un poco más lento) es simplemente comprimir la carpeta, copiar el zip y descomprimirlo. Alternativamente, puede mover la carpeta fuertemente anidada a un directorio de nivel superior, copiarla y luego moverla nuevamente a su ubicación anidada.

No estoy seguro de por qué funciona, pero de acuerdo con este artículo, Windows tiene una longitud máxima para el nombre del archivo , pero por alguna razón verifica la longitud de la ruta completa del archivo al copiar.

woojoo666
fuente