En posts anteriores hablamos del problema de las rutas largas en sistemas Windows.
En este post, vimos como borrar rutas largas utilizando la herramienta robocopy:
Windows: Borrar rutas largas (SYSADMIT.com)
También vimos como una GPO introducida en Windows Server 2016 y Windows 10, podría solucionar el problema:
"Ruta demasiado larga": Solución con GPO (SYSADMIT.com)
En este post, veremos cómo listar rutas largas.
Para ello, basta con:
- Abrir una ventana de PowerShell como administrador.
- Situarse en el directorio a partir del cual queremos obtener el listado de con rutas largas. Podemos ejecutar el comando cd para situarnos.
- Ejecutar el siguiente comando:
cmd /c dir /s /b |? {$_.length -gt 260}
o bien este, si queremos realizar la búsqueda también incluyendo ficheros ocultos:
cmd /c dir /s /a /b |? {$_.length -gt 260}
También podemos especificar directamente una ruta a partir de la cual, se empieza a realizar la búsqueda, por ejemplo:
En este post, vimos como borrar rutas largas utilizando la herramienta robocopy:
Windows: Borrar rutas largas (SYSADMIT.com)
También vimos como una GPO introducida en Windows Server 2016 y Windows 10, podría solucionar el problema:
"Ruta demasiado larga": Solución con GPO (SYSADMIT.com)
En este post, veremos cómo listar rutas largas.
Para ello, basta con:
- Abrir una ventana de PowerShell como administrador.
- Situarse en el directorio a partir del cual queremos obtener el listado de con rutas largas. Podemos ejecutar el comando cd para situarnos.
- Ejecutar el siguiente comando:
cmd /c dir /s /b |? {$_.length -gt 260}
o bien este, si queremos realizar la búsqueda también incluyendo ficheros ocultos:
cmd /c dir /s /a /b |? {$_.length -gt 260}
También podemos especificar directamente una ruta a partir de la cual, se empieza a realizar la búsqueda, por ejemplo:
Empezamos a buscar a partir del directorio D:\SYSADMIT de forma recursiva:
cmd /c dir /s /a /b D:\SYSADMIT |? {$_.length -gt 260}
¿Cómo funciona el comando?
El comando es una combinación de un dir de cmd y un filtro de PowerShell.
Desde PowerShell, se llama a un CMD y se realiza una búsqueda de ficheros utilizando DIR.
Al comando DIR, se le pasan los siguientes parámetros:
/s: Recursividad, se incluyen subdirectorios.
/a: Muestra ficheros ocultos y de sistema.
/b: Formato simple, solo se muestra la ruta completa, no se muestra fecha, hora, tamaño
La salida del comando se le pasa una pipe (tubería) y se filtra el texto utilizando: {$_.length -gt 260}
El filtro {$_.length -gt 260} es de PowerShell y solo mostrará las rutas de mas de 260 caracteres.
Vista ventana de PowerShell:
¿Cómo funciona el comando?
El comando es una combinación de un dir de cmd y un filtro de PowerShell.
Desde PowerShell, se llama a un CMD y se realiza una búsqueda de ficheros utilizando DIR.
Al comando DIR, se le pasan los siguientes parámetros:
/s: Recursividad, se incluyen subdirectorios.
/a: Muestra ficheros ocultos y de sistema.
/b: Formato simple, solo se muestra la ruta completa, no se muestra fecha, hora, tamaño
La salida del comando se le pasa una pipe (tubería) y se filtra el texto utilizando: {$_.length -gt 260}
El filtro {$_.length -gt 260} es de PowerShell y solo mostrará las rutas de mas de 260 caracteres.
Vista ventana de PowerShell:
No me reconoce |? , el pipe interrogración.
ResponderEliminarHola,
EliminarRevisa que lo estés ejecutando desde una ventana de PowerShell.
Un saludo,
Xavi.