Saltar al contenido

Cómo solucionar el problema ‘El nombre de archivo es demasiado largo’ en Windows

abril 3, 2021
keyboard 469548 640.jpg.optimal

Si alguna vez ha visto este problema, probablemente haya sido una solución simple para usted. Si ha visto este error más de dos veces, también sabe que a veces puede ser un problema complejo de solucionar.

Esperemos que solo se encuentre con la variedad de soluciones fáciles, pero lo prepararemos para las soluciones menos fáciles y que garanticen que funcionarán también.

keyboard 469548 640.jpg.optimal

¿Por qué la longitud del nombre de archivo es incluso un problema en Windows?

Existe una larga historia de que la longitud de los nombres de archivo es un problema para sistemas operativos como Windows. Hubo un momento en que no se podían tener nombres de archivo de más de 8 caracteres más una extensión de archivo de 3 caracteres. Lo mejor que pudiste hacer fue algo como myresume.doc. Esta fue una restricción impuesta por el diseño del sistema de archivos.

Las cosas mejoraron con la aparición de nuevas versiones de Windows. Pasamos de un sistema de archivos antiguo y limitado a algo llamado Sistema de archivos de nueva tecnología (NTFS). NTFS nos llevó a un punto en el que un nombre de archivo podría tener 255 caracteres y la longitud de la ruta del archivo podría llegar a 32,767 caracteres. Entonces, ¿cómo es posible que tengamos nombres de archivo demasiado largos?

despaired 2261021 640.jpg.optimal

Windows tiene cosas conocidas como variables del sistema. Estas son variables en las que Windows confía para funcionar, porque Windows siempre sabrá qué significan las variables y dónde están, incluso cuando estemos moviendo bits y bytes por todas partes. La variable del sistema MAX_PATH es el que restringe los nombres de archivo y las rutas de archivo a menos de 260 caracteres.

Al ser una variable, pensarías que podríamos cambiarla. No, no deberíamos. Sería como sacar un hilo de un suéter. Tan pronto como cambia una variable del sistema, otras variables del sistema y componentes que dependen de ellas comienzan a desmoronarse.

Entonces, ¿cómo lo arreglamos?

La solución fácil

Si tiene suerte, obtendrá el error y sabrá exactamente qué nombre de archivo está causando el problema. O al menos dónde encontrar el archivo. Tal vez tenga un nombre de archivo que se parezca a lo siguiente:

C:UserguymcDocumentsMy Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Es obvio quién es el delincuente en este caso. Encuentra el archivo en Explorador de Windows, o Explorador de archivos como se llama en Windows 10, haga clic una vez en él, presione F2 para cambiarle el nombre, y cambiar ese nombre de archivo tonto por algo más razonable. Problema resuelto.

Las soluciones menos fáciles

No siempre es tan fácil solucionar este problema. A veces, es posible que no pueda cambiar los nombres de archivos o directorios por cualquier motivo.

Las siguientes soluciones le ayudarán. No son difíciles de hacer.

Mover, eliminar o copiar archivos o directorios con PowerShell

A veces, aparece un error al intentar mover, eliminar o copiar directorios en los que el número de caracteres de la ruta del archivo es superior a 260.

Tenga en cuenta que las palabras directorio y carpeta son intercambiables. Usaremos ‘directorio’ en el futuro. Los siguientes cmdlets de PowerShell también se pueden usar en archivos.

Quizás la ruta del archivo se parezca a:

C:UsersguymcDocumentsThisIsExactlyThePreciseDirectoryPathThatINeedToHaveToKeepMyFilesSortedInAMannerThatMakesSenseToMeSoLetsPretendThisIsAnActualFilepathThatYouMightAlsoHaveOnYourWindowsComputerAndNotOverThinkItDocument.docx

Esa ruta de archivo tiene 280 caracteres. Por lo tanto, no podemos copiar el directorio de allí a otro lugar con el método normal de copiar y pegar. Obtenemos el Ruta de destino demasiado larga error.

file explorer destination path too long error

Supongamos que, por alguna razón, no podemos cambiar el nombre de los directorios en los que está anidado el archivo. qué hacemos?

Abra PowerShell. Si aún no ha utilizado PowerShell, disfrute de nuestro artículo Uso de PowerShell para usuarios domésticos: una guía para principiantes. Sin embargo, puede seguir los siguientes pasos sin leer el artículo.

Cuando se abra PowerShell, estará en la raíz de su directorio de usuario. Seguir adelante asumiendo C: Usuarios guymc es su directorio de usuarios.

El directorio llamado Esta está dentro del Documentos directorio. Para movernos al directorio de Documentos, usamos el comando de DOS documentos cd.

powershell cd documents

Verá que el mensaje cambia a C: Usuarios guymc Documentos. Está bien. Estamos trabajando más cerca de los directorios, lo que facilitará las cosas.

Copiar directorio usando el elemento de copia

Queremos copiar el directorio Esta y su contenido en ThatNewFolder. Usemos el cmdlet de PowerShell Copiar artículo con los parámetros -Destino y -Recurrir.

-Destination le dice a PowerShell dónde queremos que esté la copia. -Recurse le dice a PowerShell que copie todos los elementos del interior en el destino. La copia deja los originales donde están y crea todos los nuevos en el destino.

Copiar elemento este -Destino ThatNewFolder -Recurse

powershell copy item

Mover directorio usando Move-Item

Digamos que queremos mover el directorio This, y todos los directorios y archivos que contiene, a ThatNewFolder. Mover no deja el original en su lugar.

Podemos usar el cmdlet de PowerShell Mover elemento con los parámetros -Sendero y -Destino. -Path define el elemento que queremos mover y -Destination le dice a PowerShell dónde lo queremos.

El cmdlet colocará This dentro de ThatNewFolder. También moverá todo lo que esté dentro del directorio Este. Move-Item se puede usar para mover archivos o directorios, y funciona independientemente de la ruta del archivo o la longitud del nombre del archivo.

Move-Item -Path This -Destination ThatNewFolder

powershell move item

Para asegurarse de que funcionó, use el cd ThatNewFolder comando para entrar ThatNewFolder. Entonces usa el dir comando para listar los directorios en ThatNewFolder. Verá que este directorio está allí.

powershell this in thatnewfolder

Eliminar directorio usando Eliminar elemento

Si queremos borrar el Esta directorio, y todo lo que contiene, usamos el Remover el artículo cmdlet.

El cmdlet Remove-Item tiene cierta seguridad incorporada que dificulta la eliminación de un directorio con elementos dentro. En nuestro ejemplo, sabemos que queremos eliminar todo, así que usaremos los parámetros -Recurrir para que se borre todo lo que hay dentro y -Fuerza para hacerlo sin preguntarnos si estamos seguros de todos los elementos que contiene.

¡Tenga cuidado! Recuperar cualquier cosa eliminada de esta manera sería extremadamente difícil. Puede probar los métodos en Cómo recuperar archivos borrados accidentalmente, pero no espere mucho.

Eliminar-elemento de este -Recurse -Fuerza

powershell remove item

Puede usar el comando dir nuevamente para asegurarse de que no esté.

Hacer que Windows 10 acepte rutas de archivo largas

Si sabe que va a utilizar rutas de archivo largas y nombres de archivo largos repetidamente, es más fácil hacer que Windows funcione para usted. No tiene sentido usar PowerShell para hacer el trabajo todos los días.

Hay dos formas de hacer esto. Uno es para usuarios de Windows 10 Home y el otro es para usuarios de Windows 10 Pro o Enterprise. Estos métodos pueden funcionar para Windows 8.1 o versiones anteriores, pero no podemos garantizarlo.

Hacer que Windows 10 Home acepte rutas de archivo largas

Para que Windows 10 Home acepte rutas de archivo largas, debemos abrir el Editor de registro. Si no ha trabajado en el Editor del Registro antes, tenga cuidado. Eliminar o cambiar cosas aquí accidentalmente puede hacer que Windows deje de funcionar por completo.

Siempre haga una copia de seguridad de su registro antes de realizar cualquier cambio. Aprenda todo lo que necesita saber al respecto en nuestra Guía definitiva para realizar copias de seguridad y restaurar el registro de Windows.

Una vez que haya abierto el Editor del Registro y haya realizado la copia de seguridad, navegue hasta la ubicación HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control FileSystem y encuentra la llave LongPathsEnabled.

regedit long path enabled

Haga doble clic en LongPathsEnabled. En el Datos de valor: campo, asegúrese de que el número 1 está ahí. Hacer clic OK para cometer el cambio.

regedit long path enabled change value

Salga del Editor del Registro y debería poder trabajar con rutas de archivo largas y locas ahora.

Hacer que Windows 10 Pro o Enterprise acepten rutas de archivo largas

Para permitir que Windows 10 Pro o Enterprise use rutas de archivo largas, usaremos el Editor de políticas de grupo. Es una herramienta que nos permite establecer políticas sobre cómo funciona Windows a nivel de computadora y de usuario.

Tenemos varios artículos sobre el uso de la política de grupo para hacer cosas como deshabilitar o habilitar las opciones de Internet Explorer, o agregar un mensaje a la pantalla de inicio de sesión.

Abra el Editor de políticas de grupo yendo a la Comienzo menú y escribiendo gpedit. El resultado superior debería ser Editar política de grupo. Haz doble clic en eso.

open group policy editor

Una vez que se abra el Editor de políticas de grupo, navegue hasta Configuración del equipo> Plantillas administrativas> Sistema> Sistema de archivos. Ahí verás la política Habilitar rutas largas de Win32.

group policy enable long filenames

Haga doble clic en él para editar la configuración de la política. Cambiarlo de Desactivado para Activado, luego haga clic en el OK botón para confirmar el cambio.

group policy enable Win32 long paths enabled

Es posible que la política no entre en vigencia de inmediato. Sin embargo, puede forzar la actualización de la política de grupo.

Eso es todo

Hay otras formas de trabajar con nombres de archivo largos y rutas de archivo, pero lo que hemos analizado aquí son los métodos más simples y efectivos.

close