Question Comment supprimer un fichier dont le chemin est trop long pour être supprimé [dupliquer]


Cette question a déjà une réponse ici:

Je travaillais avec un code source de vision par ordinateur que j'ai trouvé et je ne réalisais pas qu'il créait un fichier cache avec un nom TRÈS LONG et maintenant je ne peux pas supprimer le 2 d'entre eux.

J'ai essayé de le renommer en un nom plus court mais je ne peux rien faire pour le fichier, j'ai également essayé de redémarrer mon ordinateur et voir si ça allait disparaître.

Le message d'erreur indique:

Chemin de destination trop long.

Le nom du fichier serait trop long pour le   dossier de destination. Vous pouvez raccourcir le nom du fichier et réessayer, ou essayer un   emplacement qui a un chemin plus court.

screenshot

Comment puis-je supprimer les fichiers dans ce cas?


192
2018-05-16 20:09


origine


Cela fonctionnerait-il depuis la ligne de commande avec le del commander? Quelque chose dans le sens de del *.cache devrait supprimer tous les fichiers .cache dans le répertoire en cours. - Ryan
"Chemin \ à \ dossier \ CACHEI ~ Le système n'a pas pu trouver le fichier spécifié" dit que deux fois et il y a 2 fichiers là-dedans mais n'a rien fait - Chris
En y repensant, vous pouvez vérifier l'une des autres questions auxquelles vous avez déjà répondu. Celui-là par exemple. - Ryan
Si ces deux fichiers sont les seuls restants dans le répertoire, vous pouvez avoir plus de chance de supprimer le répertoire entier. À l'invite de commande, essayez rd /s directoryname  Cela va effacer directoryname et tous les fichiers / sous-répertoires qu'il contient, utilisez-le donc avec précaution :) - bitsmack
youtube.com/watch?v=qQTyTprFAOg - bhv


Réponses:


En supposant que vous êtes sur les fenêtres:

Ce que je fais toujours est d'utiliser subst pour créer une association de driveletter avec une partie du chemin.

Ensuite, accédez à la nouvelle liste de diffusion et accédez aux fichiers qui ont des noms longs. Vous devriez maintenant pouvoir les renommer / supprimer / etc. La raison pour laquelle cela fonctionne est que le chemin lui-même ne contient plus> 255 caractères.

Pour créer un dossier subst

  1. Lancer un commandprompt (pas de privilèges d'administrateur nécessaires)
  2. Utilisation cd pour naviguer dans le dossier que vous voulez aller (vous pouvez utiliser languette à compléter automatiquement les noms
  3. type subst j: . pour créer l'association de driveletter. (au lieu du. vous pouvez également taper le chemin complet)
  4. Maintenant, dans l'explorateur, vous avez une nouvelle lettre. Allez-y et faites ce que vous devez faire pour les fichiers .cache.
  5. Revenez à votre fenêtre cmd et tapez subst /d j: pour supprimer le lecteur ou redémarrer votre PC.

EDIT: Un truc que j'ai appris qui peut raccourcir un peu cela. Dans la fenêtre de l'explorateur où vous rencontrez des problèmes, cliquez sur la barre d'adresse pour pouvoir la saisir, puis tapez cmd et appuyez sur Entrer pour lancer une invite de commande à cet emplacement, passez à l'étape 3. :)

EDIT2: OK, cette astuce peut être encore élargie. Si vous êtes dans l'explorateur sur le bon chemin, tapez simplement subst j: . dans la barre d'adresse et appuyez sur Entrée. Une fenêtre de commande apparaîtra, exécutera la commande et se fermera à nouveau, et voilà, un nouveau disque apparaît dans l'explorateur.


341
2018-05-16 20:20



robocopy empty_dir base_nested_dir / purge - Créez simplement un répertoire vide et indiquez à robocopy de purger tout ce qui se trouve dans le répertoire cible qui n'est pas dans le répertoire vide. stackoverflow.com/a/3320317/588759 - rofrol
Juste essayé ceci et je ne pouvais pas supprimer le fichier en question .. J'utilise cygwin avec windows, une solution alternative est de supprimer le fichier de cette façon: rm -R / chemin / dans / question tant qu'aucun autre programme n'utilise le fichier tu es prêt - John
J'avais un problème où SUBST ne reconnaissait pas J: comme paramètre (il ne voyait pas non plus de lecteurs virtuels disponibles), donc l'option cygwin mentionnée par John fonctionnait bien. - Tisch
@rofrol, vous devez faire de votre commentaire robocopy une réponse: il est beaucoup plus facile que de faire appel à l’approche des noms de répertoires pour gérer de nombreux répertoires enfants (comme ceux créés dans node_modules) - Andy Brown
La solution de John a très bien fonctionné pour moi, j'ai simplement ajouté le paramètre -f (paramètre force): rm -R -f / pathToDelete - Christophe Keller


Votre question demande comment supprimer un fichier lorsque le nom du fichier est trop long. Si le chemin est trop long et pas seulement le nom du fichier, vous pouvez facilement renommer les dossiers pour raccourcir le chemin.

Mais pour supprimer un fichier dont le nom comporte plus de 255 caractères:

  • Ouvrez une invite de commande en exécutant "CMD.EXE"
  • Naviguez jusqu'au dossier contenant le fichier
  • Utilisez la commande DIR / X pour afficher les noms abrégés des fichiers.
  • Supprimer en utilisant le nom abrégé.

c'est-à-dire que si le fichier est nommé "nomfichierlonguefichier.fil", le nom abrégé s'affichera comme quelque chose comme "verylo ~ 1.fil" et vous pouvez supprimer ce nom.

Veuillez noter que même si Windows lui-même peut gérer des chemins de plus de 255 caractères, la plupart des interfaces graphiques, comme l’explorateur Windows, sont liées par une limite plus courte.


64
2018-05-17 06:31



C'est une meilleure réponse que celle acceptée. - Ben
La réponse choisie est meilleure car vous pouvez supprimer des dossiers entiers avec cette méthode - mcont
mais dans Windows 7 semble que DIR / x ne change aucun affichage du tout ici ... :( - gumuruh
Certains systèmes de fichiers NTFS ne possèdent pas d'équivalents 8.3. Donc, cela ne fonctionne plus toujours. - Ross Presser
Del / S de CMD a travaillé pour moi même avec un grand nom le 8. - Jeff


Googled: supprimer le nom de fichier long Premier résultat

Utilisez Unlocker http://www.filehippo.com/download_unlocker/

Impossible de supprimer le dossier: il est utilisé par une autre personne ou programme   Impossible de supprimer le fichier: l'accès est refusé Il y a eu un partage   violation. Le fichier source ou de destination est peut-être utilisé. Le fichier est   en cours d'utilisation par un autre programme ou utilisateur. Assurez-vous que le disque n'est pas plein ou   protégé en écriture et que le fichier n'est pas en cours d'utilisation.

Unlocker peut vous aider! Faites un clic droit sur le dossier ou le fichier et sélectionnez   Débloquer Si le dossier ou le fichier est verrouillé, une liste de fenêtres des casiers   apparaîtra. Cliquez simplement sur Débloquer tout et vous avez terminé!


4
2018-05-16 20:18



Je l'ai vu mais je ne savais pas si unblocker était sûr à utiliser, alors je l'ai ignoré, je vais l'essayer. EDIT: n'a pas fonctionné. il fonctionne sur d'autres fichiers, mais unblocker n'apparaît pas dans le menu déroulant - Chris
Certainement le moyen le plus simple de le faire, même si cela peut nécessiter un redémarrage pour terminer. Rien à redire avec Unlocker du tout - l'utilise depuis des années et c'est un utilitaire très utile. Dans le cas d'un fichier ou d'un dossier dont le chemin est trop long, il ne trouvera aucune poignée de verrouillage, mais proposera ensuite l'option Supprimer dans la liste déroulante. - Steve Pettifer
Travaillé parfaitement - ce qui est drôle, c'est que ce logiciel est installé mais je ne me suis pas rendu compte de l'utiliser dans cette situation. - Daniel Sokolowski
N'a pas fonctionné pour un autre dossier où j'ai copié un dossier de jonction circulaire, mais qu'est-ce qui fonctionnait était de renommer chaque dossier de niveau en un seul caractère comme 1 tout le chemin et ensuite le supprimer. - Daniel Sokolowski
C'était la seule réponse qui fonctionnait pour moi (j'utilise Windows 10). Merci beaucoup! - user26832


Microsoft a un article de base de connaissances utile sur la suppression de fichiers indélébiles. La cause n ° 4 vous concerne.

Votre meilleur pari serait probablement de mapper un lecteur au dossier dans lequel se trouve le fichier (résolution n ° 3), puis d’entrer dans ce lecteur et de le supprimer.


2
2018-05-16 20:18



Je n'avais jamais réalisé auparavant que je pouvais "mapper un lecteur réseau" sur un emplacement sur mon propre disque dur. C'est ce que j'ai fait dans Windows Explorer. Après avoir accédé au lecteur, je pourrais facilement supprimer le dossier et le contenu. Même principe que les solutions console présentées ci-dessus, mais il s’agit d’une solution d’interface graphique rapide plus simple pour moi. - RandomHandle