Pregunta Descubra qué proceso está bloqueando un archivo o carpeta en Windows


¿Cómo puedo averiguar qué proceso está bloqueando un archivo o carpeta en Windows?

Por ejemplo, al intentar eliminar una carpeta, Windows informa esto:

La acción no se puede completar porque la carpeta está abierta en otro programa

Ocurre lo mismo con un archivo, pero ¿cómo averiguo qué programa o aplicación lo está usando actualmente y evitando que elimine el archivo o la carpeta?


512


origen


Ver esta pregunta de ServerFault. - John Fouhy
Duplicar: superuser.com/questions/13291/how-do-i-delete-a-locked-file - heavyd
¿Es tu archivo un video? Puede encontrar que el Explorador de Windows está "usando" el archivo ... - DisgruntledGoat
¿Cómo es esto un duplicado? Él es específicamente preguntando cómo saber qué proceso está bloqueando un archivo, no cómo eliminar un archivo bloqueado. - b1nary.atr0phy
No puedo agregar una respuesta más simple aquí porque se marcó incorrectamente como una estafa, ni puedo agregarla a la otra porque solo se aplica a XP. Pero de todos modos, para las versiones de Windows con el Monitor de recursos (escríbalo en la barra de búsqueda), vaya a la pestaña CPU / Asas asociadas, luego busque el archivo o la carpeta. - jontyc


Respuestas:


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

Más detalles Cómo saber qué proceso está bloqueando un archivo o carpeta en Windows


34



Por algún motivo, esto me devolvió una cadena vacía. También ejecuté PS ISE en modo de administrador. - Dib
La función debe estar habilitada primero con openfiles /local on - mstrange
Desafortunadamente, openfiles parece no funcionar en un Windows de 64 bits: ERROR: The target system must be running a 32 bit OS. - Thomas S.
Funciona en Win10 64 para mí - Michael
Ejecutar esto me dio el mismo error de Acceso denegado que obtenía originalmente, y luego siempre imprimí el mensaje de error no existe. La siguiente respuesta, sin embargo, me dio la información que necesitaba: IIS bloqueaba el directorio que necesitaba cambiar. - Chris Thompson


Para Windows 7, 8 y 10 puede usar el built-in Monitor de recursos para esto.

  1. Abierto Monitor de recursos, que se puede encontrar
    • Al buscar resmon.exe en el menú de inicio, o
    • Como un botón en el Actuación pestaña en su Administrador de tareas
  2. Abre el UPC pestaña y utilizar el campo de búsqueda en el Mangos asociados sección
    • Apuntado por la flecha azul en la captura de pantalla a continuación

En caso de que no sea obvio, cuando haya encontrado el identificador, puede identificar el proceso mirando la columna Imagen y / o PID.

A continuación, puede cerrar la aplicación si puede hacerlo, o simplemente hacer clic derecho en la fila y obtendrá la opción de matar el proceso allí mismo. ¡Pan comido!

Resource Monitor screenshot


425



Nota: el Monitor de recursos no encontró ningún controlador asociado en mi caso, mientras que Process Explorer (como descrito arriba) hizo. - ComFreek
@ComFreek Bueno, ProcessExplorer podría ser más poderoso en muchos casos, pero para mí, Resource Monitor siempre ha encontrado que la aplicación bloquea el archivo con el que trato de hacer algo. También prefiero Process Explorer simplemente porque está ahí en el SO. No hay necesidad de una descarga adicional y un acceso directo adicional en alguna parte. - Svish
No pude encontrar esto en Process Explorer, pero fue fácil de localizar con estas instrucciones en Resource Manager. Gracias. - Tatiana Racheva
@ComFreek En mi caso, fue solo el otro caso: Process Explorer no encontró el identificador, mientras que Resource Monitor lo hizo. - Uwe Keim
+1 - esto también funciona bien en Windows 10 - Matt Innes


Un par de opciones:

Microsoft / SysInternals Process Explorer - Vaya a Buscar> Buscar identificador o DLL. En el cuadro de texto "Manejar o subcadena DLL:", escriba la ruta al archivo (por ejemplo, "C: \ ruta \ a \ archivo.txt") y haga clic en "Buscar". Se deben enumerar todos los procesos que tienen un control abierto para ese archivo.

WhoLockMe - Extensión de Explorer que agrega una opción de menú de clic derecho

nótese bien WhoLockMe parece no funcionar con Win 10 (al menos no he podido registrarlo con ninguna de las versiones de 32 o 64 bits de regsvr32.exe).


366



En Windows 7, si intenta eliminar un archivo que está bloqueado, el mensaje de error le dirá qué proceso lo tiene bloqueado - Garry English
NOTA: Unlocker instala Adware si no tiene cuidado. Desde su sitio web: "Función promocional: barra de herramientas Delta totalmente opcional". - Julian Knight
@GarryEnglish por alguna razón, este no es siempre el caso. Solo tuve que usar procexp para decirme que Notepad ++ tenía un bloqueo en una carpeta. Windows 7 no pudo decirme el culpable. - GuiSim
@ jpmc26 No. WhoLockMe no funciona en Windows 7. - ceving
@ GarryEnglish- Como afirma GuiSim, seguramente este no es siempre el caso, y en mi experiencia, raramente es el caso. - dgo


Mira esto Process Explorer (procexp.exe)

Desde su introducción:

¿Alguna vez se preguntó qué programa tiene un archivo o directorio en particular abierto? Ahora puedes averiguarlo.

Para saber qué proceso está usando un archivo específico, siga estos pasos:

  1. Ir Encontrar, Encontrar Handle o DLL. o simplemente presione Ctrl+F.

    Enter image description here

  2. Ingrese el nombre del archivo y presione Buscar.

    Enter image description here

  3. Process Explorer mostrará una lista de todos los procesos que tienen un control para abrir el archivo. Haga clic en una entrada para enfocar el proceso en la ventana principal.

    Enter image description here

  4. Opcionalmente, puede incluso cerrar el mango manualmente a través del panel inferior (Ctrl+L)

    Enter image description here


175



Process Hacker también puede hacerlo. - Benoit
Como otra respuesta menciona, Encargarse de es una herramienta de línea de comandos de SysInternals que también logrará esta tarea. - heavyd
Olvidé un proceso de cmd abierto en la carpeta, el explorador de procesos me ayudó a darme cuenta. - davejal
Nota para Googlers, la versión actual de PE parece que ya no es compatible Cerrar Manija - MickyD


LockHunter puede desbloquear cualquier controlador que pueda haber bloqueado sus archivos o carpetas. A diferencia de freewares similares, es compatible con Windows de 32 y 64 bits.

Es una herramienta gratuita para eliminar archivos bloqueados por algo que no sabes. LockHunter es útil para luchar contra el malware y otros programas que bloquean archivos sin una razón. A diferencia de otras herramientas similares, elimina los archivos en la papelera de reciclaje para que pueda restaurarlos si se eliminan por error.

  • Muestra los procesos que bloquean un archivo o carpeta
  • Permite desbloquear, eliminar, copiar o cambiar el nombre de un archivo bloqueado
  • Permite matar el proceso de bloqueo
  • Permite eliminar procesos de bloqueo del disco duro
  • Se integra en el menú Explorer
  • Borra archivos en la papelera de reciclaje, por lo que puede restaurarlos si se eliminan por error
  • Compatible con Windows de 32 y 64 bits

19



¡Las dos respuestas principales no me funcionaron y las siguientes votaciones ascendentes fueron bloqueadas por mi firewall o advertidas de que no fuera por mi Chrome !. LockHunter funcionó a la perfección. - user3885927
Suerte cazador ha trabajado para mí cuando los demás no tienen - SheldonH


EMCO UnlockIT puede identificar el proceso que ha bloqueado el archivo, así como desbloquear el archivo para que pueda eliminarlo / editarlo / moverlo. El programa es completamente gratuito, aunque la versión más nueva es un poco más lenta y está más hinchada que la original (que tenía una GUI simple, no iniciada, pero cargada casi instantáneamente y sin una molesta pantalla de bienvenida). Además, la versión original solía aparecer automáticamente cada vez que se activa el error que mencionas, lo que te permite desbloquear el archivo y realizar la operación que estabas intentando.

Aún así, UnlockIT es un programa increíblemente útil que proporciona una funcionalidad básica que falta críticamente en Windows. Es una de las herramientas estándar de utilidades que instalo en todas las computadoras con Windows en las que trabajo.


9



@John: Bueno, identifica el programa que ha bloqueado un archivo. Y aún puede matar el proceso manualmente a través del administrador de tareas. Sin embargo, generalmente es más sencillo desbloquear el archivo (especialmente cuando el explorador ha bloqueado el archivo la mayor parte del tiempo) en lugar de tener que matar el proceso que lo ha bloqueado (generalmente debido a que accedió al archivo y dejó abierto el manejador de archivos) debido a un error del programa). - Lèse majesté


Aquí estaba mi descubrimiento y solución.

Por cierto, ninguna de las respuestas anteriores resolvió mi problema.

Incluso intenté usar UNLOCKER, que resultó ser inútil.

Mi problema fue el de Memeo Autosync Backup

Aparentemente, este proceso de copia de seguridad deja suficiente de un "archivo tipo fantasma". Este "archivo tipo fantasma" aparecería cada vez que mostrara ALT-TAB en mi computadora (Windows Professional XP), es decir, vería DOS programas MS Excel en ejecución, cuando solo tenía uno visible, en mi BARRA DE TAREAS.

Encontré esta solución cuando pensé que podría haber sido la protección de Endpoint (Anti-Virus) de SYMANTEC; y deshabilitó el programa. Sin embargo, seguí recibiendo el mensaje de error:

no se puede eliminar (archivo LARGE.xls): lo está utilizando otra persona o programa. Cierre todos los programas que puedan estar usando este archivo y vuelva a intentarlo.

Posteriormente seguí viendo el aviso Memeo de "sincronización" y SALIMO del programa.

Posteriormente, NO ERROR.

Para usted, podría ser CUALQUIERA de estos fondos guardados.


2





Si no conoce el programa del archivo que está utilizando, entonces puede ir a Mi PC; botón derecho del ratón; selecciona Administrar. En Herramientas del sistema> Carpetas compartidas> Abrir archivos, debería poder ver al usuario que ha bloqueado el archivo. Puede cerrar el archivo desde aquí y luego puede realizar la tarea de cambiar el nombre o eliminar el archivo. Espero que esto ayude


2



Esto solo funcionará para carpetas compartidas. - sweetfa


Posibilidad adicional, solo para salvar a la gente el tiempo que acabo de pasar:

En versiones anteriores de Windows, puede obtener "Acceso denegado: es posible que no tenga derechos o que el archivo esté en uso". Si encuentra a través de Process Explorer que los archivos, de hecho, no son abiertos por nadie, es probable que haya un problema con la seguridad. Con una cuenta de administrador, seleccione los archivos en el Explorador, haga clic con el botón derecho y seleccione Propiedades, Seguridad, Avanzado, Propietario. Las probabilidades indican que los archivos pertenecen a una cuenta que ya no existe o que ya no se puede verificar su existencia (debido al cambio de la configuración de confianza de Active Directory).

Cambie la propiedad a los administradores y está listo para comenzar.


1