65 votes

Comment supprimer un long chemin dans windows

OK, ce n'est pas nécessairement de programmation relative, mais il pourrait avoir une solution de programmation.

Lors de l'importation d'un projet dans eclipse, c'est en quelque sorte commencé à créer des récursive versions de l'annuaire.

Maintenant, quand j'essaie de supprimer quoi que ce soit, j'ai le message " le nom de fichier que vous spécifiez est trop long."

Je ne peux pas le supprimer à partir de l'invite du shell. Je ne peux pas le supprimer à partir de l'explorateur. Je ne peux pas faire quelque CHOSE avec elle. Je n'ai aucune idée de combien de copies Eclipse créé. Eclipse était en cours d'exécution pendant une minute avant que j'ai réalisé que quelque chose n'allait pas et j'ai annulé l'opération.

Je peux obtenir les propriétés du dossier de niveau supérieur, et il dit qu'il contient 497 dossiers.

Question 1: comment puis-je supprimer tous ces trucs dans Windows?

Question 2: est-Ce que l'enfer était l'éclipse de la pensée?

173voto

Gonsalu Points 1285
robocopy empty_dir base_nested_dir /purge

19voto

Ian Hopkinson Points 2754

J'ai eu un problème similaire avec Eclipse: tentative d'importation d'un projet à l'aide de Subclipse, il a généré une profondément imbriqués ensemble de répertoires qui je ne pouvais pas supprimer.

J'ai fait une couple de choses, tout d'abord j'ai édité les noms de répertoire vers le bas pour la durée la plus courte possible (en fait, je pense que c'était inutile). Deuxièmement, j'ai parcouru l'arborescence du répertoire le plus profondément possible, puis coupé et collé à la direction générale (ce qui permet de supprimer l'original de la branche), et répéter le processus.

@Charlie et @Tomalek solutions regardent comme ils pourraient être plus élégant. Je n'ai pas l'intention de répéter l'expérience pour savoir si.

13voto

Götze Points 1683

Utiliser Cygwin (comme je l'ai utilisé et ça a fonctionné)

Commande : rm -f -r

Vous devrez peut-être attendre un peu.

Je ne suis pas sûr si elle va travailler avec vous, mais l'essayer une fois. :)

12voto

Tomalak Points 150423

À T1)

Utilisation subst à court cirquit les chemins:

subst Q: C:\very\long\path\created\by\eclipse
Q:
del *.*

Comme à T2)

Long des chemins d'accès sont de moins en moins un problème dans d'autres Systèmes d'exploitation, et il y a des fonctions de l'API Windows qui peuvent traiter avec les chemins de plus de 255 caractères, alors ils l'ont fait, je suppose.

11voto

Charlie Points 17807

Si vous avez besoin de traiter avec les chemins de plus de MAX_PATH, vous devrez utiliser l'Unicode versions de Windows Api de fichier (par exemple, DeleteFileW) et d'utiliser le \\?\ préfixe. Vous pouvez écrire un programme court en utilisant ces Api pour énumérer ces répertoires et les supprimer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X