¿Cómo elimino una carpeta que está en uso?

135

A veces, cuando estoy trabajando en Windows, aparece este mensaje cuando intento eliminar un directorio:

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.

Sin embargo, la carpeta no está "en uso" en absoluto, y no la tengo abierta. Entonces, ¿cómo puedo eliminarlo antes de reiniciar?

Factor místico
fuente
2
Creo que esto ocurre con mayor frecuencia cuando se trabaja con archivos Outlook y .msg, en cuyo caso al cerrar Outlook se detiene el error "Carpeta en uso". Vea también la discusión sobre esta pregunta de la Comunidad de Microsoft .
Aire

Respuestas:

82

Esta respuesta es antigua, pero parece seguir recibiendo tráfico. Como se señala a continuación, ahora hay una herramienta integrada en Windows:

Inicio → Todos los programas → Accesorios → Herramientas del sistema → Monitor de recursos (o Ejecute resmon.exe)

Puede obtener más información en las respuestas a continuación. El resto de esta respuesta ya no es tan relevante.


Process Explorer de Sysinternals le permitirá buscar a través de los identificadores y las DLL. Busque el directorio y descubra qué proceso está "usando" la carpeta.

A partir de ahí, tiene la capacidad de cerrar ese proceso o simplemente cerrar ese controlador de archivo en particular. Asegúrese de lo que está haciendo cuando trabaje directamente con el identificador de archivos y asegúrese de que no esté siendo utilizado por algún proceso importante.

Marc Reside
fuente
44
Pero, ¿cómo encuentro el directorio que utiliza el proceso?
Johnny_D
2
Use Ctrl-F e ingrese el nombre de la carpeta sobre la que está tratando de eliminar.
MikeMurko
44
Ahora hay una GUI nativa para Windows, vea mi respuesta a continuación.
bcorso
3
* GUI nativo / integrado en / Windows (Monitor de recursos) ver más abajo.
Jamie Pate
En mi caso, Process Explorer no pudo encontrar el identificador, pero el Monitor de recursos (ver otra respuesta) fue capaz.
Bart Verkoeijen
182

Hay una GUI nativa para Windows:

Inicio >> Todos los programas >> Accesorios >> Herramientas del sistema >> Monitor de recursos (o Ejecutar resmon.exe )

Puede buscar los "Mangos asociados" utilizando el cuadro de búsqueda (encerrado en un círculo rojo) y hacer clic con el botón derecho en el proceso que desea finalizar.


Como ejemplo, en la imagen a continuación no pude eliminar mi directorio Eclipse. La búsqueda de los identificadores asociados de Eclipse mostró que el adb.exe tenía un identificador para el directorio. Después de finalizar el proceso de adb, podría eliminar el directorio Eclipse.

ingrese la descripción de la imagen aquí

bcorso
fuente
55
Este truco destacó el proceso que me daba pena :)
Pure.Krome
2
El Monitor de recursos requiere credenciales de administrador.
Aire
Tengo una carpeta bloqueada en mi escritorio que el monitor de recursos no enumera como utilizada. Oh bien.
sirdank
bloqueado? Esto es para resolver el error particular en la pregunta, es decir, "la carpeta está abierta en otro programa". ¿Es esta tu situación?
bcorso
1
Resolvió el problema para mí.
RubenGeert
8

Unlocker y WhoLockMe no funcionan en Windows de 64 bits. Yo uso LockHunter .

Joe
fuente
2
Unlocker viene para el sistema de 64 bits.
avirk
lockhunter encontró el proceso de bloqueo para mí que ProcExp y ResMon no pudieron encontrar.
Humano inteligente
7

Cuando use herramientas que fuercen el cierre de los identificadores de archivos (como el Desbloqueador mencionado anteriormente ), tenga en cuenta que hacerlo podría causar problemas graves. (Consulte este artículo de Raymond Chen ). Asegúrese de saber qué aplicaciones están usando el archivo y que ninguna de ellas está haciendo nada importante.

Es más seguro intentar cerrar las aplicaciones primero en lugar de forzar el cierre del controlador.

Brant Bobby
fuente
Muy buen artículo. Lectura importante
Pacerier
6

Esta secuencia de comandos REG le dará un elemento de menú contextual para hacer clic con el botón derecho "Ver controladores" que invocará la utilidad de controlador Sysinternals para ver todos los controladores abiertos en el archivo o carpeta en el que hizo clic con el botón derecho.

Coloque handle.exe de Sysinternals en una ubicación accesible desde su ruta.

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
fuente
¿Por qué no usar la versión de interfaz de usuario ProcessExplorer?
Pacerier
5

Me ha pasado eso. A veces puedo resolver el problema eliminando primero el contenido, luego la carpeta (vacía).

kpoehls
fuente
Sí, ¡funcionó para mí!
TigerTiger
@Wbdvlpr, @ kpoehls, ¿Por qué funcionaría esto? Creo que es solo un mito y tienes suerte.
Pacerier
3

El enfoque más rápido y simple es usar Handle , como lo menciona slolife, en lugar de usar Process Explorer. Ambos son de Mark Russinovich @ Microsoft.

No se sorprenda al descubrir que explorer.exe es el culpable, como lo hice hoy. Aparentemente, hay una forma oficial de reiniciar explorer.exe, pero parece que me estoy librando de matarlo y volver a iniciarlo nuevamente en el Administrador de tareas.


fuente
2

Cuando estaba en XP usé WhoLockMe para averiguar qué programas tenían archivos abiertos y bloqueados. La versión más reciente que pude encontrar no menciona Vista, pero valdría la pena intentarlo.

A veces, puede eliminarlo de adentro hacia afuera manualmente. Simplemente navegue hacia abajo en la jerarquía, elimine todos los archivos, suba un directorio y repita. No estoy seguro de por qué Windows no puede hacer esto por sí mismo, pero a veces funciona para mí.

tghw
fuente
2

Si por "no está en uso", quiere decir que no tiene identificadores abiertos, entonces asegúrese de que el servicio de Application Experience no esté deshabilitado . Si es así, configúrelo en manual:

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand
Synetech
fuente
2

Yo uso Handle de SysInternals (ahora Microsoft). Puede escribir parte del nombre de la carpeta para ver qué proceso tiene un identificador en esa carpeta y luego eliminar el identificador.

handle64.exe -nobanner "<path>"

Por ejemplo:

salida del comando desde la línea de comandos

Como otros han mencionado, matar el mango puede causar serios problemas.

Slolife
fuente
1

He tenido el mismo problema con un flash de memoria (16 gb, probablemente irrelevante) y no me permitió eliminar una carpeta. Intenté con todas las soluciones encontradas en Internet (ocultar miniaturas, eliminar la carpeta del indicador de cmd con explorer.exe apagado, todo ...) y nada funcionó. ¿Qué lo hizo funcionar? Bien, esto:

  1. Seleccione todos los archivos dentro de la carpeta
  2. Haga clic derecho sobre ellos y seleccione "Cortar"
  3. Regrese a la carpeta raíz
  4. Pegarlos
  5. Borra los

Eso funcionó bien para mí. Espero haber ayudado. :-)

Marco
fuente
1

Para eliminar una carpeta / programa que dice que no puede eliminarlo porque está abierto en otro lugar.

  • Haga clic en el botón de inicio
  • Tipo Taskmgr
  • En la nueva ventana que se abrió, en la pestaña de proceso, busque la carpeta / programa que está tratando de eliminar.
  • Haga clic derecho y finalice la tarea
  • Vuelva a la ubicación de la carpeta / programa y debería poder eliminarlo ahora
Héctor
fuente
0

Pruebe Ctrl+ Shift+ Esc> "programas", luego haga clic derecho en el que desea desactivar y elija desactivar. ¡Luego bórralo de nuevo!

(¡Mi sistema operativo está en sueco, por lo que las traducciones pueden no ser exactamente las mismas! ¡Pero lo entiendes!)

johan
fuente
0

Muchas veces el identificador que está bloqueado es Internet Explorer, o lo cierro en el administrador de tareas, luego borro el archivo o carpeta o cierro el explorador ... a menudo una carpeta tiene un archivo txt que está abierto y ese será el identificador que ganó ' t te permite eliminar carpetas / archivos ... simplemente cierra el archivo txt y luego deberías estar bien, ahora puedes eliminar tu carpeta.

navegando por
fuente
¿Por qué IE bloquearía los archivos locales y por qué .txt?
gronostaj
0

Tenía un archivo docs.zip en uso por WinSCP.

  1. Creé un nuevo archivo con el mismo nombre docs.zip
  2. Pegado sobre docs.zip existente y el archivo antiguo fue reemplazado por un nuevo archivo con el mismo nombre.
  3. Luego eliminé el archivo recién copiado docs.zip todos juntos.

Buena suerte

Syed Mazhar
fuente
0

Así que ya hay algunas buenas respuestas, pero voy a aportar algo nuevo, que es lo que usé para resolver este mismo problema el día de hoy.

Yo usé Python. Lo sé, lo sé, no es nativo de Windows, pero es una utilidad muy común para administradores de sistemas, desarrolladores y superusuarios, y puedes eliminar esto con un simple oneliner:

from shutil import rmtree; rmtree('C:\path\to\folder')

... bingo bango.

rubynorails
fuente
-1
  1. Encuentra el archivo que deseas eliminar.

  2. Cámbiele el nombre a lo que quiera.

  3. Bórralo.

Janpierre
fuente
2
Esta respuesta no funcionará. Si se utiliza un archivo o directorio, no puede cambiarle el nombre.
DavidPostill
-2

ir a la carpeta hasta el archivo o archivos que se están ejecutando. cuando intente eliminar este archivo, le indicará qué proceso está ejecutando. anótelo, luego vaya al administrador de tareas y finalice ese proceso ... después de eso puede eliminar la carpeta.

Samer Sarrouh
fuente