¿Cómo copiar archivos que tienen una ruta de archivo demasiado larga en Windows?

52

Necesito hacer copias de seguridad de algunos archivos en un recurso compartido de red. Sin embargo, necesito copiar esos archivos en mi disco local antes de grabar los discos porque esos archivos podrían estar en uso. Algunos de los archivos no se copiarán porque la ruta del archivo es demasiado larga. ¿Hay alguna solución alternativa que no sea cambiar la estructura del archivo?

Brian Sturm
fuente
1
Vea también Limitación del nombre de ruta de la ventana 256 caracteres .
Gilles 'SO- deja de ser malvado'

Respuestas:

27

La longitud máxima de la ruta es de 260 en Windows Vista / 7. Puedo recomendar tres soluciones:

  • (si la ruta es demasiado larga) Primero copie la carpeta a los niveles superiores en el explorador de Windows y luego muévala a su computadora local
  • (si los nombres de archivo son demasiado largos) Primero intente comprimirlos / rar / 7z con una aplicación de archivo y luego copie el archivo de archivo en su computadora local y luego extraiga el contenido.
  • Utiliza aplicaciones de terceros.

Todas estas sugerencias suponen que tiene algún tipo de acceso de escritura en la carpeta / computadora compartida de la red. Si no puede hacer nada de esto, es posible que necesite la ayuda de su administrador.

Gani Simsek
fuente
8
comprimir los archivos funcionó!
Brian Sturm el
@BrianSturm, Bueno, suponiendo que sean aplicaciones de terceros
Pacerier
Aunque realmente odio esto sobre Windows ... la solución zip realmente me salvó el día. ¡Gracias!
Bajo Slagter
67
robocopy /E source destination

Robusta copia de archivos y carpetas .

Windows 7 y superior:
Robocopy XP027 es un comando estándar en Windows 7 y superior.

NT 4 / Windows 2000: las
herramientas del Kit de recursos de Windows Server 2003 incluyen Robocopy XP010,
que se puede ejecutar en NT 4 / Windows 2000.

Windows 95 o NT 3.5:
Robocopy no se ejecuta en Windows 95 o NT 3.5. (Robocopy es una aplicación Unicode).


Solución alternativa de Windows 95 o NT 3.5: la interfaz gráfica de usuario de Microsoft Robocopy instalará Robocopy XP026 en C: \ Windows \ system32,
esta versión puede ejecutarse en sistemas operativos más antiguos
e incluye algunas características de XP027 (/ BYTES) pero tiene un manejo de nivel de error completamente roto.

Los 'Trabajos' de Robocopy y la opción 'Monitorear fuente' proporcionan una alternativa a la configuración de una Tarea Programada para ejecutar un archivo por lotes con un comando Robocopy.

usuario19496
fuente
66
Esta es la solución Si desea DESACTIVAR el soporte para rutas con una longitud superior a 256, pase la /256bandera. ¡Muchas gracias! He luchado con esto todo el día.
Automatico
1
¡asombroso! Solución Nunca supe hasta ahora esta solución integrada.
SIslam
2
Gran solución: un par de notas adicionales: (1) el destino debe incluir el nombre de la carpeta si se copia la carpeta; por ejemplo, si se copia C: \ Windows a D: \ Windows, el comando sería robocopy /E C:\Windows D:\Windows(es decir, no robocopy / EC: \ Windows D: \ ) (2) Puede mover archivos en lugar de copiarlos usando la /MOVEopción
Steve Chambers
En Windows, esta es una solución confiable para el uso de NAS. Puede iniciar una copia de millones de archivos, y si la transferencia se interrumpe a la mitad, continuará donde se quedó, sin volver a copiar todos los archivos que ya se han transferido. Es realmente valioso cuando tiene una conexión Wifi que se interrumpe de forma intermitente y aún quiere poder mover grandes cantidades de archivos con finalización garantizada.
user19496
Esto no funciona para archivos que tienen nombres no válidos en Windows. ¿Hay una bandera para esto que ayude?
Richard
16

Puede acceder a longitudes de ruta de hasta ~ 32k caracteres con el prefijo \\?\.

\\?\C:\Some\Really\Long\Path

Esto funciona desde el símbolo del sistema y cualquier otro programa que use los métodos Win32 Unicode Api, incluidas las aplicaciones .Net. Requiere un sistema de archivos que admita rutas largas (por ejemplo, NTFS), pero si tiene un problema de ruta larga, eso es un hecho.

Tenga en cuenta que ciertas aplicaciones y muchas herramientas nativas (como Explorer) tendrán problemas con estas rutas, así que úselas para salir de un agujero, no en uno.

Básico
fuente
2
Este es un gran consejo. También trabajo para manejar los nombres de archivo com1, com2, etc.
Andreas Reiff
2

FastCopy es un proyecto C de código abierto escrito por SHIROUZU Hiroaki y es "El software de copia / eliminación más rápido en Windows". Admite UNICODE y más de MAX_PATH (260 caracteres) nombres de ruta de archivo.

Si tiene cientos de rutas que son demasiado largas para arreglarlas, use la herramienta " Herramienta de ruta de reparación automática larga "

Markus
fuente
2
FastCopy es realmente excelente. En particular, a diferencia de RoboCopy, hace cosas útiles con uniones de directorio / enlaces blandos.
rlpowell
Excelente. Alternativamente, hay una respuesta SO que enumera programas similares de copia rápida que también son generalmente compatibles con la ruta extendida.
ingyhere
-3

La solución más rápida que utilicé en esta situación fue cambiar el nombre de las carpetas de nombres demasiado largos a algo como "1".

Además, como práctica general, trato de explicar a todos los usuarios que no pongan su historia de vida en un nombre de archivo o carpeta.

Cualquier administrador de archivos decente puede manejar nombres de archivos de más de 260 caracteres.

Overmind
fuente