web-dev-qa-db-fra.com

Comment supprimer un dossier en cours d'utilisation?

Parfois, lorsque je travaille dans Windows, je reçois cette invite lorsque j'essaie de supprimer un répertoire:

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.

Cependant, le dossier n'est pas du tout "utilisé" et je ne l'ai pas ouvert. Alors, comment puis-je le supprimer avant de redémarrer?

128
Factor Mystic

Cette réponse est ancienne, mais semble toujours générer du trafic. Comme indiqué ci-dessous, un outil intégré à Windows est à présent disponible:

Démarrer → Tous les programmes → Accessoires → Outils système → Moniteur de ressources (ou exécutez resmon.exe).

Vous pouvez obtenir plus d'informations dans les réponses ci-dessous. Le reste de cette réponse n'est plus aussi pertinent.


Process Explorer de Sysinternals vous permettra d'effectuer une recherche dans les descripteurs et les DLL. Recherchez le répertoire et découvrez quel processus "utilise" le dossier.

À partir de là, vous pouvez soit arrêter ce processus, soit simplement fermer ce descripteur de fichier particulier. Assurez-vous de ce que vous faites lorsque vous travaillez directement avec le descripteur de fichier et assurez-vous qu'il n'est pas utilisé par un processus important.

78
Marc Reside

Il y a une interface graphique native pour Windows:

Démarrer >> Tous les programmes >> Accessoires >> Outils système >> Moniteur de ressources (ou Exécuter resmon.exe)

Vous pouvez rechercher les "poignées associées" à l'aide de la zone de recherche (entourée en rouge), puis cliquez avec le bouton droit de la souris sur le processus que vous souhaitez terminer.


Par exemple, dans l'image ci-dessous, je ne pouvais pas supprimer mon répertoire Eclipse. La recherche des descripteurs associés à Eclipse a montré que le fichier adb.exe possédait un descripteur du répertoire. Une fois le processus adb terminé, je pourrais alors supprimer le répertoire Eclipse.

enter image description here

170
bcorso

Lorsque vous utilisez des outils qui forcent les descripteurs de fichiers à être fermés (comme le précédent Unlocker ), gardez à l’esprit que cela pourrait causer de graves problèmes. (Voir cet article de Raymond Chen .) Assurez-vous de savoir which les applications utilisent le fichier et qu'aucune d'entre elles ne fait rien d'important.

Il est plus sûr d'essayer de fermer d'abord les applications au lieu de simplement forcer la poignée.

7
Brant Bobby

Unlocker et WhoLockMe ne fonctionnent pas sous Windows 64 bits. J'utilise LockHunter .

7
Joe

Ce script REG vous donnera un élément de menu contextuel "Voir les poignées" qui invoquera l'utilitaire Sysinternals handle pour voir toutes les poignées ouvertes du fichier ou du dossier sur lequel vous avez cliqué avec le bouton droit.

Placez handle.exe de Sysinternals dans un emplacement accessible à partir de votre chemin.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\Shell\Handle]
@="View &Handles"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\Shell\Handle\command]
@="cmd.exe /k handle -a -u \"%1\""
6
Robert Collier

J'ai eu ça arrive. Parfois, je peux résoudre le problème en supprimant d'abord le contenu, puis le dossier (vide).

5
kpoehls

Si par «non utilisé», vous voulez dire qu'il n'y a pas de descripteurs ouverts, assurez-vous que le Application Experience service n'est pas désactivé . Si oui, réglez-le sur manuel:

Run dialog (or command Prompt):

  sc config AeLookupSvc start= demand
2
Synetech

Quand j’étais sur XP j’utilisais WhoLockMe pour savoir quels programmes avaient des fichiers ouverts et verrouillés. La version la plus récente que j'ai pu trouver ne mentionne pas Vista, mais cela en vaudrait la peine.

Parfois, vous pouvez le supprimer de l'intérieur manuellement. Parcourez la hiérarchie, supprimez tous les fichiers, remontez d’un répertoire et répétez. Vous ne savez pas pourquoi Windows ne peut pas le faire lui-même, mais cela fonctionne parfois pour moi.

2
tghw

J'utilise Handle de SysInternals (maintenant Microsoft). Vous pouvez taper une partie du nom du dossier pour voir quel processus a un handle sur ce dossier, puis le tuer.

handle64.exe -nobanner "<path>"

Par exemple:

 command output from commandline

Comme d'autres l'ont mentionné, le fait de tuer le manche peut causer de graves problèmes.

2
slolife

Afin de supprimer un dossier/programme qui indique que vous ne pouvez pas le supprimer car il est ouvert ailleurs.

  • Cliquez sur le bouton de démarrage
  • Type Taskmgr
  • Dans la nouvelle fenêtre ouverte, sous l'onglet Processus, recherchez le dossier/programme que vous essayez de supprimer.
  • Faites un clic droit dessus et fin de tâche
  • Retournez à l'emplacement du dossier/programme et vous devriez pouvoir le supprimer maintenant
2
Hector

Avait un fichier docs.Zip utilisé par WinSCP.

  1. J'ai créé un nouveau fichier en utilisant le même nom docs.Zip
  2. Collé sur docs.Zip existant et l'ancien fichier a été remplacé par un nouveau même fichier nommé.
  3. Ensuite, j'ai supprimé le fichier nouvellement copié, docs.Zip, tous ensemble.

Bonne chance

0
Syed Mazhar

Essayer Ctrl + Shift + Esc > "programmes", puis cliquez droit sur celui que vous souhaitez désactiver et choisissez désactiver. Puis supprimez-le à nouveau!

(Mon système d'exploitation est en suédois, il est donc possible que les traductions ne soient pas exactement les mêmes! Mais vous l'obtenez!)

0
johan

Donc, il y a déjà de bonnes réponses, mais je vais apporter quelque chose de nouveau, c'est ce que j'ai utilisé pour résoudre ce même problème plus tôt aujourd'hui.

J'ai utilisé Python. Je sais, je sais, ce n'est pas natif de Windows, mais c'est un utilitaire très courant pour les administrateurs système, les développeurs et les super utilisateurs, et vous pouvez le supprimer avec un simple oneliner:

from shutil import rmtree; rmtree('C:\path\to\folder')

... bingo bango.

0
rubynorails

J'ai eu le même problème avec une mémoire flash (16 Go - probablement inutile) et il ne me permettait pas de supprimer un dossier. J'ai essayé toutes les solutions -freaking- trouvées sur Internet (masquage des vignettes, suppression du dossier de l'invite cmd avec Explorer.exe fermé, tout ..) et rien n'a fonctionné. Qu'est-ce qui a fait que ça marche? Bon ça:

  1. Sélectionnez tous les fichiers dans le dossier
  2. Faites un clic droit dessus et sélectionnez "Couper"
  3. Retournez au dossier racine
  4. Les coller
  5. Supprime-les

Cela a bien fonctionné pour moi. J'espère que j'ai aidé. :-)

0
Marco