elimine el directorio recursivo creado por robocopy cuando "El nombre del archivo es demasiado largo"

elimine el directorio recursivo creado por robocopy cuando "El nombre del archivo es demasiado largo"

Después de ejecutar robocopy.exe para hacer una copia de seguridad de una carpeta C:\Users\ sin usar el /xjmodificador, terminé con un directorio recursivo que era demasiado largo. Por ejemplo, si ejecuta dir /b /srecibirá el siguiente error:

El nombre del directorio C:\Users\ ... \AppData\Local\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Datos\Datos de aplicación son demasiado largos.

Intenté eliminarlo rmdir "Application Data" /spero recibí el error "El nombre del archivo es demasiado largo".

He buscado otras soluciones, pero pensé que podría usar la herramienta quecausadola cuestión deresolverél.

Respuesta1

Cree un directorio vacío con mkdir emptyy luego utilícelo robocopy empty\ "Application Data\" /mir"para eliminar todo el árbol de directorios. Luego emita un rmdir emptyy rmdir "Application Datapara limpiar y listo.

Respuesta2

Es posible que pueda cdprofundizar lo suficiente en el directorio para eliminar lo que hay debajo y cdvolver a la parte superior y eliminar lo que queda.

Si eso no funciona y todavía estás atascado, descarga elPrueba gratisversión de mi shell Hamilton C (divulgación completa: soy el autor) y uso elrmutilidad que viene con él usando las opciones -r(recursiva) y -x(eliminar cualquier cosa).

rm -rx directoryname

Mis rmusos son nuevos.nombre de archivo Unicode largoformatee internamente, lo que le permite manipular rutas de hasta 32 KB de caracteres, y eso debería conseguirlo.

Si descubre que el problema también involucra permisos, es posible que deba usarsudoo supara elevar, por ejemplo,

sudo rm -rx directoryname

En casos realmente difíciles, es posible que se vea bloqueado por una ACL que impide el acceso, por ejemplo, caclsinformes Everyone:(DENY). En ese caso, es posible que deba eliminar esa ACE (entrada de control de acceso).

cacls directoryname /e /r everyone

Finalmente, realmente tengo la intención de que esto sea útil. Los registros de mi servidor me dicen que la gente está descargando mi software para probar esto y quiero que funcione. Si encuentra un caso en el que no fue así, espero que se comunique conmigo para que pueda depurar el motivo y hacerlo funcionar. Las cosas que no puedes eliminar suceden con frecuencia y me gustaría tener todos los casos cubiertos.

Respuesta3

También puedes probar uno de los siguientes;

Resolución 1:Utilice un nombre 8.3 generado automáticamente para acceder al archivo

Resolución 2:Cambiar el nombre o mover una carpeta profunda

Resolución 3:Asigne una unidad a una carpeta en la estructura de la ruta Asigne una unidad a una carpeta dentro de la estructura de la ruta del archivo o carpeta de destino. Este método acorta la ruta virtual.

Resolución 4:Utilice un recurso compartido de red que sea tan profundo como la carpeta. Si las resoluciones 1, 2 y 3 no son convenientes o no resuelven el problema, cree un recurso compartido de red que esté lo más profundo posible en el árbol de carpetas y luego cambie el nombre de las carpetas. accediendo a la acción.

Resolución 5:Utilice una herramienta que pueda atravesar caminos profundos.

http://support.microsoft.com/kb/320081

información relacionada