Buscar

Windows: Cómo saber que proceso tiene abierto un archivo

En ocasiones, podemos encontrarnos con que necesitamos saber el proceso que tiene abierto un fichero o carpeta.

Por ejemplo, si intentamos mover o renombrar un archivo o carpeta y este está siendo usado por otro proceso, podemos encontrarnos con un error similar a este:

La acción no se puede completar porque otro programa tiene abierto el archivo

Veamos un ejemplo:

1) Abrimos una ventana de CMD y nos situamos en la carpeta: C:\SYSADMIT

2) Abrimos el explorador de ficheros y nos situamos en la carpeta: C:\SYSADMIT e intentamos eliminar la carpeta. Nos aparecerá el mensaje:

La acción no se puede completar porque otro programa abrió la carpeta o uno de sus archivos.

Cierre la carpeta o el archivo e inténtelo de nuevo.

Windows: Cómo saber que proceso tiene abierto un archivo

Veamos distintas formas de saber el proceso que tiene abierto un archivo.

A continuación, disponemos del siguiente vídeo realizado por Pol Padrisa (@polpadrisa), donde podemos ver el detalle de funcionamiento de forma visual:


Podéis examinar y suscribiros al canal de Youtube de SYSADMIT en el siguiente enlace:

https://www.youtube.com/c/SYSADMIT

y aquí tenéis el contenido del post con el detalle y comandos utilizados:



Método 1: Monitor de recursos.


La herramienta "monitor de recursos" se introduce en Windows Vista y Windows Server 2008 y nos permite motorizar el sistema.

Entre las utilidades que integra, podemos ver el proceso que tiene abierto un archivo o carpeta en cuestión.

Para abrir el monitor de recursos, podemos hacerlo abriendo el "administrador de tareas" (taskmgr.exe) y hacer clic en la opción: "Abrir el monitor de recursos"


Windows: Cómo saber que proceso tiene abierto un archivo

Otra forma, es abrir el "monitor de recursos", directamente.

Para ello, bastará con ejecutar: perfmon.exe /res

Una vez abierto el "monitor de recursos", nos dirigimos a la pestaña CPU y en el apartado "Identificadores asociados", veremos la caja de búsqueda, allí, siguiendo el ejemplo anterior, escribiremos: C:\SYSADMIT y veremos el proceso que está bloqueando esta ruta: cmd.exe.


Windows: Cómo saber que proceso tiene abierto un archivo

Método 2: Process Explorer (Sysinternals)


Utilizando la herramienta gratuita: "Process Explorer" de Sysinternals, podemos averiguar el proceso que tiene abierto un archivo o carpeta.

Para ello, deberemos descargarnos la herramienta "Process Explorer":


procexp64.exe, para sistemas operativos de 64bits.
procexp.exe, para sistemas operativos de 32bits.

Una vez ejecutada la herramienta, nos dirigiremos al menú: "Find", "Find Handle or DLL" y nos aparecerá una ventana.

En la ventana, escribiremos la ruta a verificar y pulsaremos el botón de "Search", allí nos mostrará el proceso que bloquea la carpeta.

Windows: Cómo saber que proceso tiene abierto un archivo

Método 3: Handle (Sysinternals)


Handle es una de las herramientas de SysInternals que también podemos descargar y utilizar de forma gratuita.

Handle se deberá ejecutar desde linea de comandos.

También podemos descargar la herramienta, en el enlace anterior, indicado en el método 2.

Su funcionamiento es muy sencillo, igual que con "Process Explorer", handle, dispone de los siguientes ejecutables:

handle64.exe, para sistemas operativos de 64bits. 
handle.exe, para sistemas operativos de 32bits.

A continuación, ejecutamos
handle seguido de la ruta que queremos ver el proceso que lo está utilizando:

Windows: Cómo saber que proceso tiene abierto un archivo

36 comentarios:

  1. muy util el proceso, gracias por subirlo

    ResponderEliminar
  2. gracias porfin joeee¡¡¡¡¡¡¡¡¡¡aleluya mae mia muchas gracias señor.

    ResponderEliminar
  3. Por fin logre renombrar una de mis carpetas, muchas gracias.

    ResponderEliminar
  4. Lizgirl10Star me podes decir que proceso te estaba bloqueando las carpetas?

    ResponderEliminar
  5. por que aparecen dos carpetas de
    archivo de programas
    archivo de porgramas (x86)

    ResponderEliminar
    Respuestas
    1. Hola Manuel,

      Tu sistema operativo es de 64bits, por tanto tienes dos carpetas de archivos de programa:

      archivos de programa: Para programas de 64bits.
      archivos de programa (x86): Para programas de 32bits.

      Un saludo,

      Xavi.

      Eliminar
  6. hola no puedo eliminar una carpeta aun usando los anteriores metodos simplemente no se puede borrar

    ResponderEliminar
  7. WOW! Increiblemente útil este post, claro y conciso!!!!

    ResponderEliminar
  8. Muchas gracias. No te haces una idea de la de veces que he acabado reiniciando por esto. Creo que Windows debería incorporar un botón para forzar al proceso a dejar de usar ese archivo.

    ResponderEliminar
  9. Gracias me sirvió lo que explicas en las primeras 3 pantallas

    ResponderEliminar
    Respuestas
    1. ¡Gracias! Me alegro que te haya funcionado.

      Un saludo,

      Xavi.

      Eliminar
  10. Copiaron y pegaron esta entrada en:

    https://www.geekno.com/como-saber-que-proceso-tiene-abierto-un-archivo-en-windows.html

    Y allá se dicen llamar "Geeks".

    ResponderEliminar
    Respuestas
    1. Hola Antonio José,

      Muchas gracias amigo por el aviso.

      Ya me he puesto en contacto con ellos para que citen la fuente.

      ¡Un saludo!

      Xavi.

      Eliminar
  11. Respuestas
    1. Gracias a ti por tu comentario. Me alegro que te haya funcionado.

      Un saludo,

      Xavi.

      Eliminar
  12. Muchas gracias :)

    Puesta en practica para servicios de desarrollo (Famous Apache)

    ResponderEliminar
  13. Siempre quise saber este truco, por fin lo aprendo. Lo que nunca entenderé es por que cuando la carpeta te da el error, no te dice que proceso que lo esta usando... así es mas sencillo. Muchas gracias!!!

    ResponderEliminar
    Respuestas
    1. Gracias a ti por tu comentario.

      Me alegro que te haya funcionado.

      Un saludo,

      Xavi.

      Eliminar
  14. Qué hago si el propio explorar es quien está usando el archivo que quiero eliminar??

    ResponderEliminar
    Respuestas
    1. Si cierras la sesión y vuelves a iniciar sesión, el explorer se cierra y se abre de nuevo, quizás así lo puedas eliminar.

      Un saludo,

      Xavi.

      Eliminar
    2. no me funciona lo de cerrar sesión
      existe alguna otra solución?

      Eliminar
    3. Puedes probar de arrancar con el pendrive de instalación de Windows, y acceder a las opciones de recuperación, allí obtener un CMD y eliminar el fichero.

      Puedes seguir este procedimiento para obtener un CMD desde el proceso de instalación de Windows: Iniciamos desde le pendrive de instalación de Windows, seleccionamos idioma, seleccionamos "Reparar equipo", "Solucionar problemas", "Símbolo del sistema":

      Un saludo,

      Xavi.

      Eliminar
  15. uuuuuuuraaaaaaaaa!!!!! Ya eliminé la carpeta y ese molestoso mensajeeeee!!! Mil Graciasssss

    ResponderEliminar
  16. Hola master! me baje el procepcx y pude identificar que el pen drive estaba siendo usado por un proceso el tema es que para anular ese proceso me dice que no tengo autorizacion, sabes como hacer para habilitar el permiso para finalizar ese proceso?

    ResponderEliminar
    Respuestas
    1. Faltaría saber de que proceso se trata y si el proceso se ejecuta en el contexto de usuario o de sistema. Si es un proceso de sistema puede que no puedas detenerlo.

      Un saludo,

      Xavi.

      Eliminar