Descubra qual processo está bloqueando um arquivo ou pasta no Windows


717

Como posso descobrir qual processo está bloqueando um arquivo ou pasta no Windows?

Por exemplo, ao tentar excluir uma pasta, o Windows relata o seguinte:

A ação não pode ser concluída porque a pasta está aberta em outro programa

O mesmo acontece com um arquivo, mas como descubro qual programa ou aplicativo o está usando atualmente e me impede de excluir o arquivo ou a pasta?



1
O seu arquivo é um vídeo? Você pode achar que o próprio Windows Explorer está "usando" o arquivo ...
DisgruntledGoat

37
Como isso é uma duplicata? Ele está perguntando especificamente como descobrir qual processo está bloqueando um arquivo, não como excluir um arquivo bloqueado.
b1nary.atr0phy

8
Não consigo adicionar uma resposta integrada e mais simples aqui porque ela foi marcada incorretamente como um idiota, nem posso adicioná-la ao outro encadeamento porque isso se aplica apenas ao XP. De qualquer maneira, para versões do Windows com o Monitor de Recursos (digite-o na barra de pesquisa), vá para a guia CPU / Identificadores Associados e, em seguida, procure o arquivo ou a pasta.
jontyc

Aprendi que o Windows 10 (e acho que desde o Windows 7) tem um programa chamado Monitor de Recursos, que permite ver quais processos estão bloqueando um arquivo ou pasta: stackoverflow.com/a/24126882/470749
Ryan

Respostas:


66

Método do 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
}

O openfilescomando precisa ter suporte para arquivos locais ativados, executando openfiles /local one reiniciando.

Mais detalhes Como descobrir qual processo está bloqueando um arquivo ou pasta no Windows


12
O recurso deve primeiro ser ativado comopenfiles /local on
mstrange

6
Infelizmente, openfilesparece não funcionar em um Windows de 64 bits:ERROR: The target system must be running a 32 bit OS.
Thomas S.

1
Funciona em Win10 64 para mim
Michael

3
Parece que você poderia basicamente alcançá-lo em cmd puro com openfiles /query /fo table | find /I "<path>"?
Mwfearnley 31/08/19

1
... Se estamos dispostos a reiniciar para ativar algo, por que não reiniciaríamos para acessar a pasta? Não entendo como esse problema do OP resolvido quando "apenas reinicialize sua máquina" teria sido muito mais fácil e ainda exigia uma reinicialização.
Nic Hartley

692

Você pode usar o Monitor de recursos para este que vem built-in com o Windows 7, 8 e 10.

  1. Abra o Monitor de Recursos , que pode ser encontrado
    • Ao procurar pelo Monitor de Recursos ou resmon.exe no menu Iniciar, ou
    • Como um botão na guia Desempenho no seu Gerenciador de tarefas
  2. Vá para a guia CPU
  3. Use o campo de pesquisa na seção Alças Associadas
    • Veja a seta azul na captura de tela abaixo

Quando você encontrar o identificador, poderá identificar o processo observando a coluna Imagem e / ou PID.

Você pode tentar fechar o aplicativo como faria normalmente ou, se isso não for possível, basta clicar com o botão direito do mouse no identificador e interromper o processo diretamente a partir daí. Mole-mole!

Captura de tela do Resource Monitor


18
Nota: o Monitor de Recursos não encontrou nenhum identificador associado no meu caso, enquanto o Process Explorer (como descrito acima ) encontrou .
ComFreek

15
@ComFreek Bem, o ProcessExplorer pode ser mais poderoso em muitos casos, mas para mim o Resource Monitor sempre encontrou o aplicativo bloqueando o arquivo com o qual estou tentando fazer alguma coisa. Também prefiro o Process Explorer simplesmente porque está ali no sistema operacional. Não há necessidade de um download extra e um atalho extra em algum lugar.
Svish

8
Não foi possível encontrar isso no Process Explorer, mas foi fácil localizar essas instruções no Gerenciador de Recursos. Obrigado.
Tatiana Racheva 8/08/14

6
@ComFreek No meu caso, foi apenas o outro caso: o Process Explorer não encontrou o identificador, enquanto o Monitor de Recursos encontrou.
Uwe Keim

9
+1 - isso também funciona muito bem no Windows 10
Matt Innes

390

Algumas opções:

Microsoft / SysInternals Process Explorer - Vá para Localizar> Localizar identificador ou DLL. Na caixa de texto "Manipulação ou substring DLL:", digite o caminho para o arquivo (por exemplo, "C: \ caminho \ para \ arquivo.txt") e clique em "Pesquisar". Todos os processos que possuem um identificador aberto para esse arquivo devem ser listados.

WhoLockMe - extensão Explorer que adiciona uma opção de menu com o botão direito

NB WhoLockMe parece não funcionar com o Win 10 (pelo menos não consegui registrá-lo com nenhuma das versões de 32 ou 64 bits do regsvr32.exe).


26
No Windows 7, se você tentar excluir um arquivo que está bloqueado, a mensagem de erro lhe dirá qual processo foi trancado
Garry Inglês

10
NOTA: O Unlocker instala o Adware se você não for cuidadoso. No site: "Recurso promocional: barra de ferramentas Delta totalmente opcional".
Julian Knight

11
@GarryEnglish, por algum motivo, esse nem sempre é o caso. Eu apenas tive que usar procexp para me dizer que o bloco de notas ++ tinha um bloqueio em uma pasta. O Windows 7 não conseguiu me dizer o culpado.
GuiSim

4
@ jpmc26 faz Não WhoLockMe não funcionar no Windows 7.
ceving

3
@ GarryEnglish- Como afirma GuiSim, esse nem sempre é o caso e, na minha experiência, raramente é o caso.
dgo 14/09/15

196

Dê uma olhada no Process Explorer ( procexp.exe).

Desde a sua introdução:

Já se perguntou qual programa tem um arquivo ou diretório específico aberto? Agora você pode descobrir.

Para descobrir qual processo está usando um arquivo específico, siga estas etapas:

  1. Vá para Localizar , Localizar alça ou DLL .. ou simplesmente pressione Ctrl+ F.

    Digite a descrição da imagem aqui

  2. Digite o nome do arquivo e pressione Pesquisar .

    Digite a descrição da imagem aqui

  3. O Process Explorer listará todos os processos que possuem um identificador para o arquivo aberto. Clique em uma entrada para focar o processo na janela principal.

    Digite a descrição da imagem aqui

  4. Opcionalmente, você pode fechar o identificador manualmente através do painel inferior ( Ctrl+ L):

    Digite a descrição da imagem aqui


6
O Process Hacker também pode fazê-lo.
Benoit

5
Como outra resposta menciona, o Handle é uma ferramenta de linha de comando da SysInternals que também realizará essa tarefa.
heavyd

Esqueci um processo cmd aberto na pasta, o proces explorer me ajudou a perceber.
Davejal

Nota aos Googlers: a versão atual do PE parece não suportar mais o identificador de
fechamento

Falha ao trabalhar no Win10 de 64 bits 1709
K7AAY

30

O LockHunter pode desbloquear qualquer manipulador que possa ter bloqueado seus arquivos ou pastas. Ao contrário de softwares similares, ele suporta Windows de 32 e 64 bits.

É uma ferramenta gratuita para excluir arquivos bloqueados por algo que você não conhece. O LockHunter é útil para combater malware e outros programas que estão bloqueando arquivos sem motivo. Ao contrário de outras ferramentas semelhantes, ele exclui arquivos da lixeira, para que você possa restaurá-los se excluídos por engano.

  • Mostra processos bloqueando um arquivo ou pasta
  • Permite desbloquear, excluir, copiar ou renomear um arquivo bloqueado
  • Permite matar o processo de bloqueio
  • Permite remover processos de bloqueio do disco rígido
  • Integra-se ao menu Explorer
  • Ele exclui arquivos na lixeira, para que você possa restaurá-los se excluídos por engano
  • Suporta Windows de 32 e 64 bits

5
As duas principais respostas não funcionaram para mim e as próximas votadas foram bloqueadas pelo meu firewall ou advertidas para não serem acessadas pelo meu chrome !. LockHunter funcionou perfeitamente.
user3885927

1
Caçador de sorte tem trabalhado para mim quando os outros não têm
SheldonH

Este aqui funciona.
jdhao 27/02

10

O EMCO UnlockIT pode identificar o processo que bloqueou o arquivo e desbloqueá-lo para que você possa excluí-lo / editá-lo / movê-lo. O programa é totalmente gratuito, embora a versão mais recente seja um pouco mais lenta e inchada do que a original (que tinha uma interface gráfica simples e sem pele, mas carregada praticamente instantaneamente e sem uma tela inicial irritante). Além disso, a versão original costumava aparecer automaticamente sempre que o erro mencionado era acionado, permitindo desbloquear instantaneamente o arquivo e executar a operação que você estava tentando.

Ainda assim, o UnlockIT é um programa incrivelmente útil que fornece uma funcionalidade básica que está criticamente ausente no Windows. Está entre o kit de ferramentas padrão dos utilitários que instalo em todos os computadores Windows em que trabalho.


@ John: Bem, ele identifica o programa que bloqueou um arquivo. E você ainda pode matar manualmente o processo através do gerenciador de tarefas. No entanto, geralmente é mais simples desbloquear o arquivo (especialmente quando o explorador bloqueia o arquivo na maioria das vezes) em vez de interromper o processo que o bloqueou (geralmente devido ao acesso ao arquivo e à saída do manipulador de arquivos) devido a uma falha no programa).
Lèse majesté 12/03/2012

2

Aqui foi a minha descoberta e solução.

Aliás, nenhuma das respostas acima resolveu meu problema.

Eu até tentei usar o UNLOCKER, que se mostrou inútil.

Meu problema era o do Memeo Autosync Backup

Aparentemente, esse processo de backup deixa um arquivo "fantasma". Esse "arquivo fantasma" aparecia sempre que eu colocava a tecla ALT-TAB no meu computador (Windows Professional XP), ou seja, eu via dois programas do MS Excel em execução, quando eu tinha apenas UM visível, na minha barra de tarefas.

Me deparei com esta solução quando pensei que poderia ter sido a proteção SYMANTEC Endpoint (Anti-Virus); e desativou o programa. No entanto, continuei recebendo a mensagem de erro:

não é possível excluir (arquivo LARGE.xls): está sendo usado por outra pessoa ou programa. Feche todos os programas que possam estar usando esse arquivo e tente novamente.

Posteriormente, continuei vendo o aviso do Memeo sobre "sincronização" e SAI do programa.

Posteriormente, SEM ERRO.

Para você, pode ser QUALQUER um desses salvamentos em segundo plano.


2

Se você não conhece o programa que está usando o arquivo, pode ir para Meu Computador; clique direito; selecione Gerenciar. Em Ferramentas do sistema> Pastas compartilhadas> Abrir arquivos, você poderá ver o usuário que bloqueou o arquivo. Você pode fechar o arquivo a partir daqui e executar a tarefa de renomear ou excluir o arquivo. Espero que isto ajude


1
Isso funcionará apenas para pastas compartilhadas.
Sweet8

1

Possibilidade adicional, apenas para economizar às pessoas o tempo que passei:

Nas versões mais antigas do Windows, você pode obter "Acesso negado - você pode não ter direitos ou o arquivo pode estar em uso". Se você descobrir, através do Process Explorer, que os arquivos não foram abertos por ninguém, é provável que haja um problema com a segurança. Usando uma conta de administrador, selecione os arquivos no Explorer, clique com o botão direito do mouse e selecione Propriedades, Segurança, Avançado, Proprietário. As probabilidades são de que os arquivos pertencem a uma conta que não existe mais ou que não pode mais ser verificada (devido à alteração das configurações de confiança do Active Directory).

Mude a propriedade para Administradores e pronto.


0

Muitos dos programas aqui estão desatualizados. Finalmente, acabei usando o OpenedFilesView da nirsoft, que funcionou muito bem.

Captura de tela

Embora a melhor parte seja a integração do menu do Explorer, que é fácil de ativar. Conforme o site

Menu de contexto do Explorer

A partir da versão 1.10, você pode iniciar o OpenedFilesView diretamente do Windows Explorer e exibir apenas os identificadores do arquivo ou pasta que deseja inspecionar. Para ativar esse recurso, verifique o 'Ativar menu de contexto do Explorer' no menu Opções. Depois de ativar esse recurso, você pode clicar com o botão direito do mouse em qualquer arquivo ou pasta no Windows Explorer e escolher o item 'OpenedFilesView' no menu. Se você executar a opção OpenedFilesView para uma pasta, ela exibirá todos os arquivos abertos dentro dessa pasta. Se você executar a opção OpenedFilesView para um arquivo, ele exibirá todas as alças abertas para esse arquivo.

menu contextual

Essa ferramenta ainda funciona de maneira confiável em 2019

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.