Comment supprimer un dossier en cours d'utilisation?

135

Parfois, lorsque je travaille sous 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 en cours d'utilisation et je ne l'ai pas ouvert. Alors, comment puis-je le supprimer avant de redémarrer?

Facteur Mystique
la source
2
Je constate que cela se produit le plus souvent lorsque vous utilisez des fichiers Outlook et .msg, auquel cas la fermeture de Outlook arrête l'erreur "Dossier utilisé". Voir également la discussion sur cette question de la communauté Microsoft .
Air

Réponses:

82

Cette réponse est ancienne, mais semble toujours générer du trafic. Comme indiqué ci-dessous, un outil intégré à Windows est maintenant 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.

Marc Reside
la source
4
Mais comment trouver le répertoire utilisé par processus?
Johnny_D
2
Utilisez Ctrl-F et entrez le nom du dossier au-dessus de celui que vous essayez de supprimer.
MikeMurko
4
Il existe maintenant une interface graphique native pour Windows, voir ma réponse ci-dessous.
Bcorso
3
* Interface graphique native / intégrée à / Windows (Resource Monitor), voir ci-dessous.
Jamie Pate
Dans mon cas, Process Explorer n'a pas pu trouver le descripteur, mais le moniteur de ressources (voir autre réponse) en était capable.
Bart Verkoeijen
182

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.

entrez la description de l'image ici

bcorso
la source
5
Cette astuce a mis en lumière le processus qui me
causait du
2
Le moniteur de ressources requiert des informations d'identification d'administrateur.
Air
J'ai un dossier verrouillé sur mon bureau que le moniteur de ressources ne répertorie pas comme étant utilisé. Tant pis.
sirdank
fermé à clé? Ceci est pour résoudre l'erreur particulière dans la question, à savoir "le dossier est ouvert dans un autre programme". Est-ce votre situation?
bcorso
1
Résolu le problème pour moi.
RubenGeert
8

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

Joe
la source
2
Unlocker vient pour le système 64 bits.
avirk
lockhunter a trouvé pour moi le processus de verrouillage que ProcExp et ResMon ne pouvaient pas trouver.
Clever Human
7

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

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

Brant Bobby
la source
Way bon article. Important lire.
Pacerier
6

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

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\""
Robert Collier
la source
Pourquoi ne pas simplement utiliser la version de l'interface utilisateur ProcessExplorer?
Pacerier
5

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

Kpoehls
la source
Oui, cela a fonctionné pour moi!
TigerTiger
@Wbdvlpr, @ kpoehls, pourquoi cela fonctionnerait-il? Je pense que c'est juste un mythe et que vous avez de la chance.
Pacerier
3

L’approche la plus simple et la plus rapide consiste à utiliser Handle , comme mentionné par slolife, plutôt que d’utiliser Process Explorer. Ils sont tous deux de Mark Russinovich @ Microsoft.

Ne soyez pas surpris de constater que explorer.exe est le coupable, comme je l'ai fait aujourd'hui. Apparemment, il existe un moyen officiel de redémarrer explorer.exe, mais il semble que je sois en train de le tuer et de le redémarrer dans le Gestionnaire des tâches.


la source
2

Quand j'étais sur XP, j'ai utilisé 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.

tghw
la source
2

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

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand
Synetech
la source
2

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:

sortie de commande de ligne de commande

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

slolife
la source
1

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 de -freaking trouvées sur Internet (masquage des vignettes, suppression du dossier de l'invite cmd avec explorer.exe arrêté, 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é. :-)

Marco
la source
1

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 qui s’ouvre, 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
Hector
la source
0

Essayez Ctrl+ Shift+ Esc> "programmes", puis cliquez avec le bouton droit de la souris 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!)

johan
la source
0

souvent le descripteur qui est verrouillé est Internet Explorer, je le ferme dans le gestionnaire de tâches, puis supprime le fichier ou le dossier ou ferme l'explorateur ... souvent, un dossier contient un fichier txt ouvert qui sera le descripteur qui aura été gagné. t laissez u supprimer des dossiers / fichiers ... fermez simplement le fichier txt et vous devriez être en mesure de bien, vous pouvez maintenant supprimer le dossier ur.

croisière par
la source
Pourquoi IE verrouille-t-il les fichiers locaux et pourquoi .txt?
gronostaj
0

Si un fichier docs.zip était 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 le même fichier nommé.
  3. Ensuite, j'ai supprimé le fichier nouvellement copié docs.zip.

Bonne chance

Syed Mazhar
la source
0

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.

rubynorails
la source
-1
  1. Recherchez le fichier que vous souhaitez supprimer.

  2. Renommez ce que vous voulez.

  3. Supprime-le.

Janpierre
la source
2
Cette réponse ne fonctionnera pas. Si un fichier ou un répertoire est utilisé, vous ne pouvez pas le renommer.
DavidPostill
-2

allez dans le dossier jusqu'au (x) fichier (s) en cours d'exécution. lorsque vous essayez de supprimer ce fichier, il vous indiquera le processus en cours d'exécution. écrivez-le, puis allez dans le gestionnaire de tâches et mettez fin au processus .. après cela, vous pourrez supprimer le dossier.

samer sarrouh
la source