Windows 7 Supprimer la structure de dossiers fortement imbriquée [doublon]


8

J'exécutais un script de nœud qui a mal tourné et j'ai créé une structure de dossiers comme ceci:

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

Ceci est imbriqué dans une mesure de plus de 300 fois, je dirais, sinon plus.

Je ne peux pas delcar c'est un chemin de fichier trop long.

Je ne peux pas l'utiliser robocopycar il se bloque autour de ce point:

entrez la description de l'image ici

Je ne peux pas l'utiliser FileAssassincar ce n'est que pour les fichiers apparemment.

J'ai essayé d'utiliser le script .bat à partir de cette réponse Comment supprimer un dossier imbriqué assez profondément et éviter "Nom de fichier trop long"? , et il est toujours en cours d'exécution, mais je crains au niveau de la récursivité que le dossier soit à même si chaque sous-dossier a été renommé en un seul caractère, il serait toujours plus long que 260 (ou quelle que soit la limite).

Comment puis-je supprimer cela problemde mon système de fichiers?

ÉDITER

DeepRemove est un succès! La victoire! 3 421 niveaux de récursivité. Jeesh! Je serai plus prudent avec nodejs (ou toute modification programmatique du système de fichiers) à partir de maintenant, en particulier. quand la récursivité est impliquée!


Avez-vous essayé de supprimer le dossier racine?
and31415

@ and31415 oui. le chemin d'accès au fichier est trop long pour que Windows le gère lui-même.
Aristides

2
Peut-être que quelqu'un trouvera une meilleure solution, mais qu'en est-il du démarrage sur un Live-CD GNU / Linux, du montage de la partition Windows et simplement rmdu répertoire problématique? Je pense que la limite de chemin d'accès aux fichiers Linux est bien plus longue que celle de Windows, donc cela peut fonctionner.

@ André qui pourrait fonctionner, mais c'est probablement mon dernier recours.
Aristides

@Aristides Ouais, juste pour être sûr. Il serait maintenant intéressant de savoir ce qui a réellement créé le problème en premier lieu.
and31415

Réponses:



1

Pour la postérité, je partage la solution de SiloSix .

Il a créé un fichier bat pour déplacer la structure des dossiers et supprimer de petits morceaux à la fois. C'est simple et beau. (J'avais aussi plusieurs milliers de dossiers à traiter.)

Cela a fonctionné sur mon problème en moins de 2 minutes.

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

Les balises REM ne sont que des commentaires, elles peuvent être laissées ou retirées à votre guise. (Dans le cas où la prochaine personne à trouver cela n'est pas versée dans les scripts de chauve-souris.)


Je pense que DeepRemove est une solution plus simple, en particulier. quelqu'un qui ne connaît pas bien la ligne de commande.
Aristides

2
@Aristides Au moment où je suis tombé sur ce problème, mon problème d'annuaire a été résolu en utilisant le script batch, donc je n'ai pas pu tester DeepRemove. Cependant, certains autres outils créés pour résoudre le même problème n'avaient pas fonctionné. J'ai donc pensé que republier le script pourrait être bénéfique pour tous ceux qui sont tombés dessus. :)
Squish
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.