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

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

Esperemos que solo se encuentre con la variedad de arreglos fáciles, pero lo prepararemos para los arreglos menos fáciles, que también funcionan garantizados.

¿Por qué la longitud del nombre de archivo es incluso un problema en Windows?(Why Is Filename Length Even An Issue In Windows?)

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

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

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

Al ser una variable, uno pensaría 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 los componentes que dependen de ellas comienzan a desmoronarse.

¿Cómo lo arreglamos, entonces?

La solución fácil(The Easy Fix)

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:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Es obvio quién es el delincuente en este caso. Encuentre el archivo en el Explorador de Windows(Windows Explorer) , o Explorador(File Explorer) de archivos como se llama en Windows 10 , haga clic una vez en él, presione F2 para cambiarle el nombre y cambie ese tonto nombre de archivo a algo más razonable. Problema(Problem) resuelto.

Las soluciones menos fáciles(The Less Easy Fixes)

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

Las siguientes soluciones harán el truco por usted. No son difíciles de hacer.

Mover(Move) , eliminar(Delete) o copiar archivos o directorios mediante PowerShell(Or Copy Files Or Directories Using PowerShell)

A veces, obtiene un error al intentar mover, eliminar o copiar directorios donde el recuento de caracteres para la ruta del archivo es superior a 260.

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

Quizás la ruta del archivo se parezca a:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.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 error Ruta de destino demasiado larga .(Destination Path Too Long)

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(Open PowerShell) . Si aún no ha usado PowerShell , disfrute de nuestro artículo Uso de PowerShell para usuarios domésticos: una guía para principiantes(Using PowerShell for Home Users – A Beginner’s Guide) . Sin embargo, puede realizar los siguientes pasos sin leer el artículo.

Cuando se abra PowerShell , estará en la raíz de su directorio de usuario. Siga(Follow) asumiendo C:\Users\guymc es su directorio de usuarios.

El directorio llamado Esto(This) está dentro del directorio Documentos(Documents) . Para movernos al directorio de Documentos(Documents) , usamos el comando de DOS cd Documentos(cd Documents)

Verá que el aviso cambia a C:\Users\guymc\Documents . Eso es bueno. Estamos trabajando más cerca de los directorios, lo que facilitará las cosas.

Copiar directorio usando el elemento de copia

Queremos copiar el directorio This y su contenido en ThatNewFolder . Usemos el cmdlet Copy-Item de(Copy-Item) PowerShell con los parámetros -Destination y -Recurse .

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

Copy-Item This -Destination ThatNewFolder -Recurse

Mover directorio usando Move-Item

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

Podemos usar el cmdlet Move-Item de(Move-Item) PowerShell con los parámetros -Path y -Destination . -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 de este directorio. 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

Para asegurarse de que funcionó, use el comando cd ThatNewFolder para ingresar a ThatNewFolder . Luego use el comando dir para enumerar los directorios en (dir)ThatNewFolder . Verá que este directorio está allí.

Eliminar directorio usando Remove-Item

Si queremos eliminar este(This ) directorio y todo lo que contiene, usamos el cmdlet Remove-Item .

El cmdlet Remove-Item tiene cierta seguridad integrada que dificulta la eliminación de un directorio con cosas dentro. En nuestro ejemplo, sabemos que queremos eliminar todo, por lo que usaremos los parámetros -Recurse para que elimine todo lo que contiene y -Force para que lo haga sin preguntarnos si estamos seguros de cada elemento que contiene.

¡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.

Remove-Item This -Recurse -Force

Puede usar el comando dir nuevamente para asegurarse de que desaparezca.

Hacer que Windows 10 acepte rutas de archivo largas(Make Windows 10 Accept Long File Paths)

Si sabe que va a usar 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 maneras en que podemos hacer esto. Uno es para usuarios de Windows 10 (Windows 10) Home y el otro es para usuarios de Windows 10 (Windows 10) Pro o Enterprise . Estos métodos pueden funcionar para Windows 8.1 o anterior, pero no podemos garantizarlo.

Hacer que(Make) Windows 10 Home acepte rutas de archivo largas(Home Accept Long File Paths)

Para que Windows 10 Home acepte rutas de archivo largas, debemos abrir el Editor del Registro(Registry Editor) . Si no ha trabajado antes en el Editor del Registro(Registry Editor) , tenga cuidado. Borrar o cambiar accidentalmente cosas aquí 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( Ultimate Guide to Backing Up and Restoring the Windows Registry) .

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 busque la clave LongPathsEnabled .

Haga doble clic en LongPathsEnabled . En el campo Información del valor:,(Value data:) asegúrese de que el número 1 esté allí. Haga clic en Aceptar(OK) para confirmar el cambio.

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

Hacer que(Make) Windows 10 Pro o Enterprise acepte rutas de archivo largas(Pro Or Enterprise Accept Long File Paths)

Para permitir que Windows 10 Pro o Enterprise use rutas de archivos largas, vamos a usar el Editor de directivas de grupo(Group Policy Editor) . 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 políticas de grupo para hacer cosas como deshabilitar o habilitar las opciones de Internet Explorer( disabling or enabling Internet Explorer options) , o agregar un mensaje a la pantalla de inicio de sesión( adding a message to the logon screen) .

Abra el Editor(Group Policy Editor) de directivas de grupo yendo al menú Inicio(Start) y escribiendo gpedit . El primer resultado debería ser Editar política de grupo(Edit group policy) . Haz doble clic en eso.

Una vez que se abra el Editor de directivas de grupo(Group Policy Editor) , vaya a Computer Configuration > Administrative Templates > System > Filesystem . Allí verá la política Habilitar rutas largas de Win32(Enable Win32 long paths) .

Haga doble clic en él para editar la configuración de la política. Cámbielo de Deshabilitado(Disabled ) a Habilitado(Enabled) , luego haga clic en el botón Aceptar(OK ) para confirmar el cambio. 

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 .( force the group policy to update)

Eso es todo(That’s It)

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



About the author

Ingeniero audiófilo y especialista en productos de audio con más de 10 años de experiencia. Me especializo en la creación de altavoces y auriculares para música de calidad de principio a fin. Soy un experto en la solución de problemas de audio, así como en el diseño de nuevos sistemas de altavoces y auriculares. Mi experiencia va más allá de hacer buenos productos; También me apasiona ayudar a otros a ser lo mejor posible, ya sea a través de la educación o el servicio comunitario.



Related posts