Question Découvrez quel processus verrouille un fichier ou un dossier dans Windows


Comment puis-je savoir quel processus verrouille un fichier ou un dossier dans Windows?

Par exemple, lorsque vous essayez de supprimer un dossier, Windows le signale:

L'action ne peut pas être terminée car le dossier est ouvert dans un autre programme

Se produit la même chose avec un fichier, mais comment puis-je savoir quel programme ou application l'utilise actuellement et m'empêcher de supprimer le fichier ou le dossier?


514
2018-03-09 14:05


origine


Voir cette question ServerFault. - John Fouhy
Dupliquer: superuser.com/questions/13291/how-do-i-delete-a-locked-file - heavyd
Votre fichier est-il une vidéo? Vous pouvez constater que Windows Explorer lui-même "utilise" le fichier ... - DisgruntledGoat
Comment est-ce un duplicata? il est Plus précisément demander comment savoir quel processus verrouille un fichier, pas comment supprimer un fichier verrouillé. - b1nary.atr0phy
Je ne peux pas ajouter une réponse intégrée plus simple ici car elle a été incorrectement marquée comme une dupe, et je ne peux pas non plus l’ajouter à l’autre thread car cela ne s’applique qu’à XP. Mais de toute façon, pour les versions de Windows avec Resource Monitor (tapez-le dans la barre de recherche), allez dans l'onglet CPU / Associated Handles, puis recherchez le fichier ou le dossier. - jontyc


Réponses:


Méthode PowerShell:

IF((Test-Path -Path $FileOrFolderPath) -eq $false) {
    Write-Warning "File or directory does not exist."       
}
Else {
    $LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
    Write-Host $LockingProcess
}

Plus de détails Comment savoir quel processus verrouille un fichier ou un dossier dans Windows


34
2018-04-26 02:59



Pour une raison quelconque, cela vient de me retourner une chaîne vide. J'ai également exécuté PS ISE en mode administrateur. - Dib
La fonctionnalité doit d'abord être activée avec openfiles /local on - mstrange
Malheureusement, openfiles ne semble pas fonctionner sur Windows 64 bits: ERROR: The target system must be running a 32 bit OS. - Thomas S.
Fonctionne sur Win10 64 pour moi - Michael
En cours d'exécution, cela m'a donné la même erreur Access is Denied que je recevais à l'origine, puis j'ai toujours imprimé le message d'erreur n'existe pas. La réponse ci-dessous, cependant, m'a donné les informations dont j'avais besoin - IIS verrouillait le répertoire dont j'avais besoin pour changer. - Chris Thompson


Pour Windows 7, 8 et 10, vous pouvez utiliser le Moniteur de ressources pour ça.

  1. Ouvrir Moniteur de ressources, qui peut être trouvé
    • En cherchant resmon.exe dans le menu Démarrer, ou
    • En tant que bouton sur le Performance onglet dans votre Gestionnaire des tâches
  2. Ouvrez le CPU onglet et utiliser le champ de recherche dans le Poignées Associées section
    • Pointé par une flèche bleue dans la capture d'écran ci-dessous

Au cas où ce ne serait pas évident, lorsque vous avez trouvé le handle, vous pouvez identifier le processus en consultant la colonne Image et / ou PID.

Vous pouvez ensuite fermer l'application si vous êtes capable de le faire, ou cliquez avec le bouton droit sur la ligne et vous aurez la possibilité de supprimer le processus directement. Peasy facile!

Resource Monitor screenshot


426
2017-09-10 11:43



Remarque: le moniteur de ressources n'a trouvé aucun descripteur associé dans mon cas, alors que Process Explorer (comme décrit ci-dessus) fait. - ComFreek
@ComFreek Bien, ProcessExplorer pourrait être plus puissant dans de nombreux cas, mais pour moi, le moniteur de ressources a toujours trouvé l'application verrouillant le fichier que j'essayais de faire quelque chose. Je le préfère aussi à Process Explorer simplement parce qu’il se trouve dans le système d’exploitation. Pas besoin d'un téléchargement supplémentaire et d'un raccourci supplémentaire quelque part. - Svish
Je n'ai pas pu trouver cela dans Process Explorer, mais il était facile de localiser avec ces instructions dans Resource Manager. Merci. - Tatiana Racheva
@ComFreek Dans mon cas, c'était juste l'autre cas: Process Explorer n'a pas trouvé le handle, alors que Resource Monitor l'a fait. - Uwe Keim
+1 - cela fonctionne aussi très bien sur Windows 10 - Matt Innes


Quelques options:

Microsoft / SysInternals Process Explorer - Accédez à Rechercher> Rechercher un descripteur ou une DLL. Dans la zone de texte "Handle or DLL substring:", tapez le chemin d'accès au fichier (par exemple "C: \ path \ to \ file.txt") et cliquez sur "Rechercher". Tous les processus qui ont un handle ouvert à ce fichier doivent être répertoriés.

WhoLockMe - Extension de l'explorateur qui ajoute une option de menu contextuel

N.B. WhoLockMe semble ne pas fonctionner avec Win 10 (au moins, je n'ai pas pu l'enregistrer avec l'une des versions 32 ou 64 bits de regsvr32.exe).


366
2018-03-09 14:22



Dans Windows 7, si vous essayez de supprimer un fichier verrouillé, le message d'erreur vous indiquera quel processus est verrouillé. - Garry English
REMARQUE: Unlocker installe Adware si vous ne faites pas attention. À partir de leur site Web: "Fonctionnalité promotionnelle: barre d'outils Delta entièrement facultative". - Julian Knight
@GarryEnglish pour une raison quelconque, ce n'est pas toujours le cas. Je devais juste utiliser procexp pour me dire que notepad ++ avait un verrou sur un dossier. Windows 7 était incapable de me dire le coupable. - GuiSim
@ jpmc26 Non. WhoLockMe ne fonctionne pas sous Windows 7. - ceving
@ GarryEnglish- Comme indiqué par GuiSim, ce n'est certainement pas toujours le cas et, selon mon expérience, c'est rarement le cas. - dgo


Jettes un coup d'oeil à Explorateur de processus (procexp.exe).

De son introduction:

Vous êtes-vous déjà demandé quel programme avait un fichier ou un répertoire particulier ouvert? Maintenant, vous pouvez le savoir.

Pour savoir quel processus utilise un fichier spécifique, procédez comme suit:

  1. Aller à Trouver, Rechercher Handle ou DLL .. ou appuyez simplement sur Ctrl+F.

    Enter image description here

  2. Entrez le nom du fichier et appuyez sur Chercher.

    Enter image description here

  3. Process Explorer répertorie tous les processus qui ont un handle vers le fichier ouvert. Cliquez sur une entrée pour cibler le processus dans la fenêtre principale.

    Enter image description here

  4. Vous pouvez éventuellement fermer la poignée manuellement via le volet inférieur (Ctrl+L):

    Enter image description here


175
2018-03-12 03:35



Process Hacker peut également le faire. - Benoit
Comme une autre réponse mentionne, Manipuler est un outil de ligne de commande de SysInternals qui accomplira également cette tâche. - heavyd
J'ai oublié un processus de cmd ouvert dans le dossier, l'explorateur de proces m'a aidé à le remarquer. - davejal
Note aux Googlers, la version actuelle de PE semble ne plus prendre en charge Fermer la poignée - MickyD


LockHunter peut déverrouiller les gestionnaires qui peuvent avoir verrouillé vos fichiers ou vos dossiers. Contrairement aux freewares similaires, il prend en charge Windows 32 et 64 bits.

C'est un outil gratuit pour supprimer les fichiers bloqués par quelque chose que vous ne connaissez pas. LockHunter est utile pour lutter contre les logiciels malveillants et autres programmes qui bloquent des fichiers sans raison. Contrairement à d'autres outils similaires, il supprime les fichiers dans la corbeille afin que vous puissiez les restaurer s'ils sont supprimés par erreur.

  • Affiche les processus verrouillant un fichier ou un dossier
  • Permet de déverrouiller, supprimer, copier ou renommer un fichier verrouillé
  • Permet de tuer le processus de verrouillage
  • Permet de supprimer les processus de verrouillage du disque dur
  • Intègre au menu Explorer
  • Il supprime les fichiers dans la corbeille, vous pouvez donc les restaurer si vous les supprimez par erreur
  • Prend en charge les fenêtres 32 et 64 bits

19
2018-03-13 22:06



Les deux premières réponses n'ont pas fonctionné et les prochaines mises à jour ont été bloquées par mon pare-feu ou ont averti de ne pas y accéder par mon chrome !. LockHunter a parfaitement fonctionné. - user3885927
La chance du chasseur a fonctionné pour moi quand les autres n'ont pas - SheldonH


EMCO UnlockIT peut identifier le processus qui a verrouillé le fichier et déverrouiller le fichier pour pouvoir le supprimer / modifier / déplacer. Le programme est totalement gratuit, bien que la version la plus récente soit un peu plus lente et plus gonflée que la version originale (qui avait une interface graphique simple et non codée, mais chargée à peu près instantanément et sans écran de démarrage agaçant). De plus, la version originale apparaissait automatiquement chaque fois que l'erreur mentionnée était déclenchée, vous permettant de déverrouiller instantanément le fichier et d'effectuer l'opération que vous tentiez.

Pourtant, UnlockIT est un programme incroyablement utile qui fournit une fonctionnalité de base qui fait cruellement défaut à Windows. C'est parmi les outils standard que j'installe sur tous les ordinateurs Windows sur lesquels je travaille.


9
2018-03-12 03:37



@ John: Eh bien, il identifie le programme qui a verrouillé un fichier. Et vous pouvez toujours tuer manuellement le processus via le gestionnaire de tâches. Cependant, il est généralement plus simple de simplement déverrouiller le fichier (en particulier lorsque son explorateur a verrouillé le fichier la plupart du temps) au lieu de tuer le processus qui l'a verrouillé (généralement en raison de l'accès au fichier et de l'ouverture du gestionnaire de fichiers). en raison d'un problème de programme). - Lèse majesté


Voici ma découverte et solution.

Incidemment, aucune des réponses ci-dessus n'a résolu mon problème.

J'ai même essayé d'utiliser UNLOCKER qui s'est avéré sans valeur.

Mon problème était celui de Memeo Autosync Backup

Apparemment, ce processus de sauvegarde laisse assez de "fichier fantôme". Ce "fichier fantôme" apparaîtrait à chaque fois que je composais ALT-TAB sur mon ordinateur (Windows Professional XP), c’est-à-dire que deux programmes MS Excel étaient en cours d’exécution alors qu’un seul était visible sur ma barre de tâches.

Je suis tombé sur cette solution alors que je pensais que cela pouvait être la protection SYMANTEC Endpoint (Anti-Virus); et désactivé le programme. Cependant, j'ai continué à recevoir le message d'erreur:

ne peut pas supprimer (fichier LARGE.xls): il est utilisé par une autre personne ou un programme. Fermez tous les programmes susceptibles d'utiliser ce fichier et réessayez.

J'ai ensuite continué à voir l'avis de Memeo de "synchronisation" et QUITTER le programme.

Par la suite, NO ERROR.

Pour vous, cela pourrait être n'importe lequel de ces sauvegardes d'arrière-plan.


2
2017-10-13 09:43





Si vous ne connaissez pas le programme utilisé, vous pouvez accéder au Poste de travail. clic-droit; sélectionnez Gérer. Sous Outils système> Dossiers partagés> Ouvrir les fichiers, vous devriez pouvoir voir l'utilisateur qui a verrouillé le fichier. Vous pouvez fermer le fichier à partir d'ici et vous pouvez ensuite renommer ou supprimer le fichier. J'espère que cela t'aides


2
2018-02-01 06:42



Cela ne fonctionnera que pour les dossiers partagés. - sweetfa