Si te enfrentas al error Ruta de destino demasiado larga cuando intente copiar o mover un archivo a una carpeta, pruebe el truco rápido a continuación. La razón por la que recibe el error es que el Explorador de archivos no pudo copiar/eliminar/cambiar el nombre de ninguna ruta de más de 256 caracteres. Las instrucciones a continuación se aplican a Windows XP, Windows 7, Windows 8, Windows 10, Windows Server 2003, Windows Server 2008 y Windows Server 2012R2/2016/2019.

Esta no es la limitación del sistema de archivos NTFS, sino la biblioteca API Win32. En la API de Win32, el valor MAX_PATH es 260. La mayoría de las aplicaciones estándar, incluido el Explorador de Windows (Explorador de archivos), no funcionan correctamente con archivos de rutas largas que superan los 256 caracteres. Bajo el nombre del archivo, Windows entiende la ruta completa, comenzando con la raíz de la unidad, terminando con la última subcarpeta y el nombre del archivo en sí.

Al usar las funciones de la API de Unicode, es posible usar una ruta de hasta 32767 caracteres. Gracias a esto, muchos programas de terceros (los populares administradores de archivos, por ejemplo, FAR y Total Commander) procesan archivos/carpetas cuya longitud de ruta supera los 256 caracteres sin ningún problema.

Nota. Algunos programas usan el formato de ruta de archivo UNC (con el prefijo ?) para eludir las limitaciones de la API de Win32. Por ejemplo, la ruta absoluta del archivo podría verse así:

\?C:folder1subfolder1toolongfilename

Debido a las limitaciones de la longitud máxima de la ruta, el administrador puede encontrar los siguientes problemas:

  • Los usuarios pueden crear archivos y carpetas en una carpeta de red compartida a la que el administrador (o los scripts de administración) no pueden acceder localmente;
  • Errores al sincronizar perfiles itinerantes;
  • Errores de recuperación de datos de instantáneas;
  • Cálculo incorrecto del tamaño de los directorios;
  • Pérdida de archivos durante la migración y transferencia de datos entre servidores, etc.

Solución de ruta de destino demasiado larga

Error completo:

Ruta de destino demasiado larga

Los nombres de los archivos serían demasiado largos para la carpeta de destino. Puede acortar el nombre del archivo e intentarlo de nuevo, o probar una ubicación que tenga una ruta más corta.

Error de ruta de destino demasiado larga en Windows 10 20H2
Error de ruta de destino demasiado larga en Windows 10 20H2

Solución 1. Cambiar el nombre de la carpeta principal para disminuir la ruta completa

La forma más sencilla es acortar el nombre de las carpetas principales, disminuyendo la longitud total de la ruta (pero no siempre aplicable) simplemente renombrándola.

Solución 2. Crear un enlace simbólico

Otra opción es crear un enlace simbólico a una parte de la ruta, acortando así la longitud total de la ruta. Para crear un enlace, puede usar el siguiente comando:

mklink /d c:homelink “C:verylongpathhere……”

A continuación, realice operaciones de archivo con el directorio al que está asignado el enlace simbólico (c:homelink en nuestro caso).

Solución 3. Usar la utilidad Subst

Otra opción es asociar la carpeta del problema a un disco virtual (en nuestro ejemplo, Z :), utilizando la utilidad integrada Sustancia. Por lo tanto, también puede acortar la longitud de la ruta:

Subst Z: “C:verylongpathhere……”

Ahora puede trabajar con los datos en la unidad Z:, la ruta a los archivos en los que no excederá el límite de ruta de la API Win32. Una vez finalizado el trabajo, puede eliminar el disco virtual mediante Subst con la opción /d:

Subst Z: /d

Solución 4. Ruta compartida oculta

Paso 1

La solución más rápida para esto (especialmente si necesita simplemente migrar (mover) muchas carpetas de un lugar a otro) es asignar una unidad a la carpeta detallada.

Lo que debe hacer es buscar la ruta compartida oculta y copiarla en su portapapeles.

ruta de destino demasiado larga

Paso 2

A continuación, vaya a "Equipo" o "Mi PC" y haga clic en Conectar unidad de red. Dependiendo de su sistema operativo, puede aparecer en el menú de herramientas.

ruta de destino demasiado larga windows 10

Paso 3

Luego, simplemente pegue la ruta de la carpeta larga y presione Finalizar.

el nombre del archivo sería demasiado largo para la carpeta de destino

Paso 4

Ahora podrá copiar los archivos/carpetas en esta ubicación sin recibir el error.

Solución 5. Cómo habilitar el soporte de ruta larga en Windows 10 (1607) y superior

Desde la Actualización de aniversario de Windows 10 (1607), fue posible deshabilitar el límite MAX_PATH para las aplicaciones manifestadas de win32 y Windows Store en el nivel del sistema operativo de Windows sin usar el prefijo \?. De forma predeterminada, esta función está deshabilitada.

Para habilitar el soporte integrado para rutas largas en Windows 10/Windows Server 2016/2019, use el Regedit.exe editor para establecer el LongPathsEnabled parámetro de REG_DWORD en la clave de registro HKLMSISTEMACurrentControlSetControlFileSystem con un valor 1.

ruta de destino demasiado larga corrección de windows 10

Puede cambiar este parámetro de registro con el siguiente comando de PowerShell:

Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlFileSystem -Name LongPathsEnabled -Value 1

O puede habilitar el soporte de ruta larga a través del Editor de políticas de grupo local (Win + R -> gpedit.msc -> OK). Vaya a la siguiente sección de GPO en el editor de políticas: Configuración de la computadora > Plantillas administrativas > Sistema > Sistema de archivos. Abra el parámetro de política llamado Habilitar rutas largas de Win32 y configúrelo en Habilitado.

ruta de destino de Windows demasiado larga

Guarde los cambios y actualice la configuración de la política de grupo local.

En ambos casos, la computadora debe reiniciarse para que los cambios surtan efecto. Después de un reinicio, los usuarios y los programas podrán trabajar sin restricciones con archivos, cuya longitud de ruta exceda los 256 caracteres. Ahora los archivos solo se verán afectados por el límite de la ruta del archivo NTFS de 32767 caracteres.

Si desea verificar si la compatibilidad con rutas largas de NTFS está habilitada en esta computadora, puede ejecutar el siguiente comando de PowerShell:

Get-ItemProperty "HKLM:SystemCurrentControlSetControlFileSystem").LongPathsEnabled

Si el comando devuelve un valor de 1entonces la política está habilitada.

la ruta de destino es demasiado larga

Tenga en cuenta que para usar la ruta larga de win32 NTFS, la aplicación debe desarrollarse con este parámetro habilitado. Como de costumbre, esta opción se habilita a través del archivo de manifiesto de la aplicación.

Un manifiesto de aplicación es un archivo pequeño que contiene información sobre compatibilidad de aplicaciones, soporte de DPI, etc. Si las aplicaciones se desarrollan con soporte de ruta larga NTFS, entonces el largoPathAware El parámetro debe agregarse al archivo de manifiesto. Por ejemplo:

verdadero

En Visual Studio 2019 y MSBuild 16, esta configuración está habilitada de forma predeterminada.

Win32 Long Paths GPO no funciona en Windows 10 File Explorer

Hay malas noticias. El Explorador de archivos, incluso en las versiones más recientes de Windows 10 20H2 y Windows Server 2019, aún no admite rutas largas de NTFS. Esto significa que cuando abra un archivo/carpeta de este tipo, seguirá recibiendo el error: "Ruta de destino demasiado larga".

El Explorador de Windows no tiene una declaración en el manifiesto y deberá usar uno de los trucos descritos en este artículo para acceder a rutas largas en Windows.

Vimos el siguiente comentario de un empleado de Microsoft:

Esta función no está lista para incluirse en el Explorador de archivos. Debe esperar hasta que Microsoft lo active en Explorer o usar una herramienta de administración de archivos de terceros que sea compatible con rutas largas.

Sin embargo, en algunas aplicaciones, la verificación MAX_PATH está incrustada en el código. Acerca de las restricciones máximas de ruta de archivo para desarrolladores de .Net, consulte la Solución 7 a continuación.

Solución 6. Uso de la herramienta de línea de comandos de Robocopy para copiar y mover archivos

Puede usar la herramienta integrada de Windows de la consola — robocopy para copiar o mover datos. La utilidad le permite copiar y sincronizar correctamente archivos/directorios con rutas largas.

Por ejemplo, si no puede eliminar el directorio debido al límite de longitud de la ruta, primero puede mover los datos del directorio mediante robocopy:

ROBOCOPY c:folder1folder2folder3longpath c:tmp /MOVE /E

solución de ruta de destino demasiado larga

Después de eso, puede eliminar el directorio de origen:

Delete c:folder1folder2folder3longpath /q /f

Solución 7. Ruta de archivo larga para desarrolladores .Net

La biblioteca de clases base (BCL) del entorno de desarrollo para .Net Framework tiene una verificación preliminar integrada para la admisibilidad de directorios largos y nombres de archivos. Por lo tanto, los desarrolladores de .Net Framework pueden encontrar un error System.IO.PathTooLongException en sus programas.

Verifique la longitud de la ruta eliminada del código BCL en .Net Framework 4.6.2. Por lo tanto, después de actualizar la versión de .Net Framework, los desarrolladores pueden usar rutas largas en el formato de ruta UNC (\?C:Very_long_path). Cuando el parámetro LongPathsEnabled está habilitado en Windows 10/Windows Server 2016, es posible trabajar correctamente con archivos que tienen rutas de prácticamente cualquier longitud.

Para hacer esto, use Net Framework 4.6.2 (y más reciente) cuando cree aplicaciones, o para versiones de aplicaciones anteriores (.Net 4.0), use el siguiente archivo de configuración de la aplicación:

Solución 8. Ruta de archivo larga en PowerShell .Net Developers

PowerShell se basa en .Net, y para que Get-Item, Get-ChildItem, Remove-Item y otros cmdlets funcionen correctamente con rutas de archivo largas, debe actualizar .NET Framework a 4.5 o posterior e instalar Windows. Marco de Gestión 5.1.

Consejo. La versión actual de PowerShell se puede encontrar en la variable $PSVersionTable.

Después de eso, cuando use cmdlets de archivo en lugar de Path, debe usar el parámetro LiteralPath. Por ejemplo:

Get-ChildItem -literalpath \?C:PS

el nombre del archivo sería demasiado largo para la carpeta de destino

Consejo #1

También hay una gran herramienta llamada "Long Path Tool" que funciona muy bien para arreglar esto, la herramienta LongPath. Sin embargo, no es gratis, los métodos anteriores sí lo son.

Consejo #2

Gracias, Colin Albright, por el comentario a continuación. Sí, también puede usar 7-zip o cualquier utilidad zip para solucionar el problema de la ruta de destino demasiado larga. A veces, en archivos individuales, esta podría ser una solución mejor y más rápida. Simplemente cierre la carpeta y listo.

Recomendado para ti