Jak usunąć używany folder?


134

Czasami podczas pracy w systemie Windows pojawia się ten monit przy próbie usunięcia katalogu:

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

Jednak folder nie jest w ogóle „w użyciu” i nie mam go otwartego. Jak mogę go usunąć po ponownym uruchomieniu?


2
Uważam, że występuje to najczęściej podczas pracy z plikami Outlook i .msg, w którym to przypadku zamknięcie programu Outlook zatrzymuje błąd „Folder w użyciu”. Zobacz także dyskusję na temat tego pytania do społeczności Microsoft .
Air

Odpowiedzi:


82

Ta odpowiedź jest stara, ale wydaje się, że nadal generuje ruch. Jak wspomniano poniżej, w systemie Windows jest teraz wbudowane narzędzie:

Start → Wszystkie programy → Akcesoria → Narzędzia systemowe → Monitor zasobów (lub Uruchom resmon.exe)

Możesz uzyskać więcej informacji w odpowiedziach poniżej. Reszta tej odpowiedzi nie jest już tak istotna.


Process Explorer firmy Sysinternals pozwoli ci przeszukiwać uchwyty i biblioteki DLL. Wyszukaj katalog i dowiedz się, który proces „używa” folderu.

Stamtąd możesz albo zamknąć ten proces, albo po prostu zamknąć ten konkretny uchwyt pliku. Upewnij się, co robisz, pracując bezpośrednio z uchwytem pliku i upewnij się, że nie jest używany przez jakiś ważny proces.


4
Ale jak znaleźć katalog używany przez proces?
Johnny_D,

2
Użyj Ctrl-F i wprowadź nazwę folderu nad tym, który próbujesz usunąć.
MikeMurko

4
Istnieje teraz natywny interfejs GUI dla systemu Windows, zobacz moją odpowiedź poniżej.
bcorso

3
* Natywny GUI / wbudowany w / Windows (Monitor zasobów) patrz poniżej.
Jamie Pate,

W moim przypadku Process Explorer nie mógł znaleźć uchwytu, ale Monitor zasobów (zobacz inną odpowiedź) był w stanie.
Bart Verkoeijen

181

Istnieje natywny interfejs GUI dla systemu Windows:

Start >> Wszystkie programy >> Akcesoria >> Narzędzia systemowe >> Monitor zasobów (lub Uruchom resmon.exe )

Możesz wyszukać „Powiązane uchwyty” za pomocą pola wyszukiwania (zaznaczonego na czerwono) i kliknąć prawym przyciskiem myszy proces, który chcesz zakończyć.


Na przykład na poniższym obrazku nie mogłem usunąć mojego katalogu Eclipse. Wyszukiwanie uchwytów związanych z Eclipse pokazało, że adb.exe miał uchwyt do katalogu. Po zakończeniu procesu adb mogłem następnie usunąć katalog Eclipse.

wprowadź opis zdjęcia tutaj


5
Ta sztuczka uwypukliła proces, który mnie zasmucił :)
Pure.Krome

2
Monitor zasobów wymaga poświadczeń administratora.
Air

Na pulpicie mam zablokowany folder, którego monitor zasobów nie wyświetla jako używany. No cóż.
sirdank,

zablokowany? Ma to na celu rozwiązanie konkretnego błędu w pytaniu, tj. „Folder jest otwarty w innym programie”. Czy to twoja sytuacja?
bcorso,

1
Rozwiązałem problem dla mnie.
RubenGeert 24.04.16

8

Unlocker i WhoLockMe nie działają w 64-bitowym systemie Windows. Używam LockHunter .


2
Unlocker jest dostępny dla systemu 64-bitowego.
avirk

lockhunter znalazł dla mnie proces blokowania, którego ProcExp i ResMon nie mogły znaleźć.
Clever Human

7

Korzystając z narzędzi, które wymuszają zamykanie uchwytów plików (takich jak wspomniany wcześniej Unlocker ), należy pamiętać, że może to spowodować poważne problemy. (Zobacz ten artykuł autorstwa Raymonda Chena .) Upewnij się, że wiesz, które aplikacje używają pliku i że żadna z nich nie robi nic ważnego.

Bezpieczniej jest najpierw spróbować zamknąć aplikacje, a nie tylko wymusić zamknięcie uchwytu.


Dobry artykuł. Ważna lektura.
Pacerier

6

Ten skrypt REG wyświetli element menu kontekstowego „Wyświetl uchwyty”, który wywoła narzędzie obsługi Sysinternals, aby wyświetlić wszystkie otwarte uchwyty pliku lub folderu, który kliknąłeś prawym przyciskiem myszy.

Umieść uchwyt.exe z Sysinternals w miejscu dostępnym z Twojej ścieżki.

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\""

Dlaczego nie skorzystać z wersji interfejsu użytkownika ProcessExplorer?
Pacerier

5

Tak się złożyło. Czasami mogę rozwiązać problem, usuwając najpierw zawartość, a następnie folder (pusty).


Tak - zadziałało dla mnie!
TigerTiger

@Wbdvlpr, @ kpoehls, Dlaczego miałoby to działać? Myślę, że to tylko mit, a ty masz szczęście.
Pacerier

3

Najszybszym i najprostszym podejściem jest użycie Handle , jak wspomniano w slolife, zamiast korzystania z Process Explorer. Oboje pochodzą od Marka Russinowicza @ Microsoft.

Nie zdziw się, gdy odkryłem, że explorer.exe jest winowajcą, tak jak dzisiaj. Najwyraźniej istnieje oficjalny sposób na ponowne uruchomienie explorer.exe, ale wydaje mi się, że nie mogę go zabić i uruchomić go ponownie w Menedżerze zadań.


2

Kiedy byłem na XP, korzystałem z WhoLockMe, aby dowiedzieć się, jakie programy mają otwarte i zablokowane pliki. Najnowsza wersja, którą mogłem znaleźć, nie wspomina o Vistie, ale warto spróbować.

Czasami możesz usunąć go ręcznie od wewnątrz. Po prostu przejdź w dół hierarchii, usuń wszystkie pliki, przejdź do katalogu i powtórz. Nie jestem pewien, dlaczego system Windows nie może tego zrobić sam, ale czasami działa dla mnie.


2

Jeśli przez „nieużywany” masz na myśli, że nie ma do niego otwartych uchwytów, upewnij się, że usługa Application Experience nie jest wyłączona . Jeśli tak, ustaw go na ręczny:

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2

Używam Handle z SysInternals (teraz Microsoft). Możesz wpisać część nazwy folderu, aby zobaczyć, który proces ma uchwyt w tym folderze, a następnie zabić uchwyt.

handle64.exe -nobanner "<path>"

Na przykład:

dane wyjściowe polecenia z wiersza polecenia

Jak wspomnieli inni, zabicie uchwytu może spowodować poważne problemy.


1

Miałem ten sam problem z pamięcią flash (16 GB - prawdopodobnie nie ma to znaczenia) i nie pozwoliłoby mi to usunąć folderu. Próbowałem każdego - dziwnego - rozwiązania znalezionego w Internecie (ukrywanie miniatur, usuwanie folderu z wiersza poleceń cmd przy wyłączonym explorer.exe, wszystko ...) i nic nie działało. Co sprawiło, że działało? Cóż, to:

  1. Wybierz wszystkie pliki w folderze
  2. Kliknij je prawym przyciskiem myszy i wybierz „Wytnij”
  3. Wróć do folderu głównego
  4. Wklej je
  5. Usuń ich

Dla mnie to zadziałało. Mam nadzieję, że pomogłem. :-)


1

Aby usunąć folder / program, który mówi, że nie można go usunąć, ponieważ jest otwarty gdzie indziej.

  • Kliknij przycisk Start
  • Wpisz Taskmgr
  • W nowym oknie, które się otworzyło, w zakładce proces poszukaj folderu / programu, który próbujesz usunąć.
  • Kliknij go prawym przyciskiem myszy i zakończ zadanie
  • Wróć do lokalizacji folderu / programu i powinieneś być w stanie ją teraz usunąć

0

Spróbuj Ctrl+ Shift+ Esc> „programy”, a następnie kliknij prawym przyciskiem myszy ten, który chcesz dezaktywować, i wybierz opcję dezaktywuj. Następnie usuń go ponownie!

(Mój system operacyjny jest w języku szwedzkim, więc tłumaczenia mogą nie być dokładnie takie same! Ale rozumiesz!)


0

często zablokowanym uchwytem jest Internet Explorer, zamykam go w menedżerze zadań, a następnie usuwam plik lub folder lub zamykam Explorer ... często folder ma otwarty plik TXT, który będzie uchwytem, ​​który wygrał ” pozwól usunąć foldery / pliki ... po prostu zamknij plik txt i wtedy powinno być w porządku, możesz teraz usunąć swój folder.


Dlaczego IE blokuje pliki lokalne i dlaczego .txt?
gronostaj

0

Miał plik docs.zip w użyciu przez WinSCP.

  1. Utworzyłem nowy plik o tej samej nazwie docs.zip
  2. Wklejono istniejący plik docs.zip i stary plik został zastąpiony nowym plikiem o tej samej nazwie.
  3. Następnie usunąłem nowo skopiowany plik docs.zip razem.

Powodzenia


0

Są już więc dobre odpowiedzi, ale zamierzam wnieść coś nowego, czego użyłem dzisiaj do rozwiązania tego samego problemu.

Użyłem Pythona. Wiem, wiem, że nie jest to natywny system Windows, ale jest bardzo popularnym narzędziem dla sysadminów, programistów i superużytkowników, i możesz to wyeliminować za pomocą prostego programu oneliner:

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

... bingo bango.


-1
  1. Znajdź plik, który chcesz usunąć.

  2. Zmień nazwę na dowolną.

  3. Usuń to.


2
Ta odpowiedź nie zadziała. Jeśli używany jest plik lub katalog, nie można go zmienić.
DavidPostill

-2

przejdź do folderu aż do pliku lub plików, które są wykonywane. gdy spróbujesz usunąć ten plik, podpowie Ci, jaki proces jest uruchomiony. zapisz to, a następnie przejdź do menedżera zadań i zakończ ten proces. Następnie możesz usunąć folder.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.