Windows 7 Eliminar estructura de carpetas muy anidadas [duplicar]


8

Estaba ejecutando un script de nodo que salió mal y creé una estructura de carpetas como esta:

\myfolder
    \myfolder
    \file.txt
        \myfolder
            \file.txt
                \myfolder
                \file.txt
                    \etc.

Esto se anida en una extensión de más de 300 veces, estimaría, si no más.

No puedo delporque es una ruta de archivo demasiado larga.

No puedo usar robocopyporque realmente se congela en este punto:

ingrese la descripción de la imagen aquí

No puedo usar, FileAssassinya que aparentemente solo es para archivos.

He intentado usar el script .bat de esta respuesta ¿Cómo elimino una carpeta que está anidada bastante profunda y evito "Nombre de archivo demasiado largo"? , y todavía se está ejecutando, pero me temo que a nivel de recursión la carpeta se encuentra, incluso si cada subcarpeta fuera renombrada a un carácter, aún sería más larga que 260 (o cualquiera que sea el límite).

¿Cómo elimino esto problemde mi sistema de archivos?

EDITAR

¡DeepRemove es exitoso! ¡Victoria! 3,421 niveles de recursión. Jeesh! Tendré más cuidado con nodejs (o cualquier modificación programática del sistema de archivos) de ahora en adelante, especialmente. cuando la recursión está involucrada!


¿Intentaste eliminar la carpeta raíz?
y31415

@ and31415 sí. la ruta del archivo es demasiado larga para que Windows pueda manejarla por sí misma.
Arístides

2
Quizás alguien encuentre una solución mejor, pero ¿qué pasa con el arranque en un Live-CD de GNU / Linux, el montaje de la partición de Windows y simplemente rmel directorio problemático? Creo que el límite de la ruta del archivo de Linux es mucho más largo que el de Windows, por lo que puede funcionar.

@ André eso podría funcionar, pero probablemente sea mi último recurso.
Arístides

@Aristides Sí, solo asegurándome. Ahora sería interesante saber qué creó realmente el problema en primer lugar.
y31415

Respuestas:



1

Para la posteridad, estoy compartiendo la solución de SiloSix .

Creó un archivo bat para mover la estructura de carpetas y eliminar pequeños fragmentos a la vez. Es simple y hermoso. (También tenía varios miles de carpetas para tratar).

Funcionó en mi problema en menos de 2 minutos.

REM https://superuser.com/users/151251/silosix
D:

REM  CD deep into the problem directory...
cd D:\a\calculator.sikuli\calculator.sikuli\calculator.sikuli\calculator.sikuli

REM Move the rest of the problem dir to a temporary parent folder
move /-Y calculator.sikuli D:\b

REM CD to the temp folder
cd D:\b

REM delete the section of problem-dir above
rd /s/q D:\a\calculator.sikuli

REM Move the rest of problem-dir back to origin
move /-Y calculator.sikuli D:\a

REM Call the script until problem directory is gone!
call D:\remdirs2.bat

Las etiquetas REM son solo comentarios, se pueden dejar o quitar a su gusto. (En caso de que la próxima persona que encuentre esto no esté versado en las secuencias de comandos de murciélagos).


Creo que DeepRemove es una solución más fácil, especialmente. alguien que no conoce bien el uso de la línea de comando.
Aristides

2
@Aristides En el momento en que me topé con esto, mi problema de directorio se resolvió utilizando el script por lotes, por lo que no pude probar DeepRemove. Sin embargo, algunas otras herramientas creadas para resolver el mismo problema no funcionaron. Así que pensé que volver a publicar el guión podría ser beneficioso para cualquiera que se topara con esto. :)
Squish
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.