Làm cách nào để xóa thư mục đang sử dụng?


135

Đôi khi, khi tôi đang làm việc trong Windows, tôi sẽ nhận được lời nhắc này khi tôi cố xóa một thư mục:

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

Tuy nhiên, thư mục hoàn toàn không "sử dụng" và tôi không mở nó. Vì vậy, làm thế nào tôi có thể xóa nó ngắn khởi động lại?


2
Tôi thấy điều này xảy ra thường xuyên nhất khi làm việc với các tệp Outlook và .msg, trong trường hợp đóng Outlook sẽ dừng lỗi "Thư mục đang sử dụng". Xem thêm thảo luận về câu hỏi Cộng đồng Microsoft này .
Không khí

Câu trả lời:


82

Câu trả lời này đã cũ, nhưng dường như vẫn nhận được lưu lượng truy cập. Như đã lưu ý dưới đây, có một công cụ tích hợp trong Windows bây giờ:

Bắt đầu → Tất cả chương trình → Phụ kiện → Công cụ hệ thống → Giám sát tài nguyên (hoặc Chạy resmon.exe)

Bạn có thể nhận thêm thông tin trong các câu trả lời dưới đây. Phần còn lại của câu trả lời này không còn phù hợp nữa.


Process Explorer từ Sysiternals sẽ cho phép bạn tìm kiếm thông qua các thẻ điều khiển và DLL. Tìm kiếm thư mục và tìm hiểu quá trình nào đang "sử dụng" thư mục.

Từ đó, bạn có khả năng tắt quá trình đó hoặc chỉ đóng xử lý tệp cụ thể đó. Hãy chắc chắn về những gì bạn đang làm khi làm việc với tệp xử lý trực tiếp và đảm bảo rằng nó không được sử dụng bởi một quy trình quan trọng.


4
Nhưng làm thế nào tôi tìm thấy thư mục được sử dụng bởi quá trình?
Johnny_D

2
Sử dụng Ctrl-F và nhập tên của thư mục phía trên thư mục bạn đang cố xóa.
MikeMurko

4
Hiện tại đã có GUI gốc cho Windows, xem câu trả lời của tôi dưới đây.
bcorso

3
* GUI gốc / tích hợp vào / Windows (Resource Monitor) xem bên dưới.
Jamie Pate

Trong trường hợp của tôi, Process Explorer không thể tìm thấy tay cầm, nhưng Trình giám sát tài nguyên (xem câu trả lời khác) có khả năng.
Bart Verkoeijen

182

Có một GUI gốc cho Windows:

Bắt đầu >> Tất cả chương trình >> Phụ kiện >> Công cụ hệ thống >> Giám sát tài nguyên (hoặc chạy resmon.exe )

Bạn có thể tìm kiếm "Xử lý liên kết" bằng cách sử dụng hộp tìm kiếm (khoanh tròn màu đỏ) và nhấp chuột phải vào quá trình bạn muốn kết thúc.


Ví dụ, trong hình ảnh bên dưới, tôi không thể xóa thư mục Eclipse của mình. Tìm kiếm các thẻ điều khiển liên quan đến Eclipse cho thấy adb.exe có một thẻ điều khiển thư mục. Sau khi kết thúc quá trình adb, tôi có thể xóa thư mục Eclipse.

nhập mô tả hình ảnh ở đây


5
Thủ thuật này đã làm nổi bật quá trình khiến tôi đau buồn :)
Pure.Krom

2
Giám sát tài nguyên yêu cầu thông tin quản trị viên.
Không khí

Tôi có một thư mục bị khóa trên máy tính để bàn của mình mà trình giám sát tài nguyên không liệt kê là đang được sử dụng. Ồ tốt
sirdank

bị khóa? Điều này là để giải quyết lỗi cụ thể trong câu hỏi, tức là "thư mục đang mở trong một chương trình khác." Đây có phải là tình huống của bạn?
bcorso

1
Giải quyết vấn đề cho tôi.
RubenGeert

8

Unlocker và WhoLockMe không hoạt động trên Windows 64 bit. Tôi sử dụng LockHunter .


2
Unlocker đi kèm với hệ thống 64 bit.
avirk

lockhunter đã tìm thấy quy trình khóa cho tôi mà cả ProcExp và ResMon đều không thể tìm thấy.
Con người thông minh

7

Khi sử dụng các công cụ buộc các tệp xử lý đóng (như Unlocker đã đề cập trước đó ), hãy nhớ rằng làm như vậy có thể gây ra vấn đề nghiêm trọng. (Xem bài viết này bởi Raymond Chen .) Hãy chắc chắn rằng bạn biết ứng dụng đang sử dụng tập tin và rằng không ai trong số họ đang làm bất cứ điều gì quan trọng.

An toàn hơn khi thử tắt ứng dụng trước thay vì chỉ buộc tay cầm đóng lại.


Cách tốt bài viết. Đọc quan trọng.
Pacerier

6

Tập lệnh REG này sẽ cung cấp cho bạn một mục menu ngữ cảnh nhấp chuột phải "Xem tay cầm" sẽ gọi tiện ích xử lý Sysiternals để xem tất cả các thẻ điều khiển mở đối với tệp hoặc thư mục mà bạn nhấp chuột phải vào.

Đặt handle.exe từ Sysiternals vào một vị trí có thể truy cập từ đường dẫn của bạn.

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

Tại sao không sử dụng phiên bản UI ProcessExplorer?
Pacerier

5

Tôi đã có điều đó xảy ra. Đôi khi tôi có thể giải quyết vấn đề bằng cách xóa nội dung trước, sau đó đến thư mục (trống).


Vâng - nó làm việc cho tôi!
TigerTiger

@Wbdvlpr, @ kpoehls, Tại sao điều này sẽ làm việc? Tôi nghĩ đó chỉ là một huyền thoại và bạn tình cờ gặp may mắn.
Pacerier

3

Cách tiếp cận nhanh nhất và đơn giản nhất là sử dụng Xử lý , như được đề cập bởi slolife, thay vì sử dụng Process Explorer. Cả hai đều đến từ Mark Russinovich @ Microsoft.

Đừng ngạc nhiên khi thấy rằng explorer.exe là thủ phạm, như tôi đã làm ngày hôm nay. Rõ ràng có một cách chính thức để khởi động lại explorer.exe, nhưng tôi dường như đang thoát khỏi việc giết nó và bắt đầu lại từ đầu trong Trình quản lý tác vụ.


2

Khi tôi ở trên XP, tôi đã sử dụng WhoLockMe để tìm hiểu những chương trình nào có các tệp được mở và khóa. Phiên bản gần đây nhất tôi có thể tìm thấy không đề cập đến Vista, nhưng nó đáng để thử.

Đôi khi, bạn có thể xóa nó từ trong ra ngoài bằng tay. Chỉ cần điều hướng tất cả các đường xuống trong cấu trúc phân cấp, xóa tất cả các tệp, di chuyển lên một thư mục và lặp lại. Không chắc chắn tại sao Windows không thể tự làm điều này, nhưng đôi khi nó hoạt động với tôi.


2

Nếu bởi vì không được sử dụng trên mạng, bạn có nghĩa là không có tay cầm mở nào cho nó, thì hãy đảm bảo rằng dịch vụ Trải nghiệm ứng dụng không bị tắt . Nếu vậy, hãy đặt nó thành thủ công:

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2

Tôi sử dụng Xử lý từ SysIternals (nay là Microsoft). Bạn có thể nhập một phần của tên thư mục để xem tiến trình nào có xử lý trên thư mục đó và sau đó giết tay cầm.

handle64.exe -nobanner "<path>"

Ví dụ:

đầu ra lệnh từ dòng lệnh

Giống như những người khác đã đề cập, giết chết tay cầm có thể gây ra vấn đề nghiêm trọng.


1

Tôi đã gặp vấn đề tương tự với đèn flash bộ nhớ (16 gb - có lẽ không liên quan) và nó sẽ không cho phép tôi xóa một thư mục. Tôi đã thử mọi giải pháp tìm kiếm trên internet (ẩn hình thu nhỏ, xóa thư mục khỏi dấu nhắc cmd với explorer.exe tắt, mọi thứ ..) và không có gì hoạt động. Điều gì làm cho nó hoạt động? À, cái này:

  1. Chọn tất cả các tập tin trong thư mục
  2. Nhấp chuột phải vào chúng và chọn "Cắt"
  3. Quay trở lại thư mục gốc
  4. Dán chúng
  5. Xóa chúng

Điều đó làm việc tốt cho tôi. Hy vọng tôi đã giúp. :-)


1

Để xóa một thư mục / chương trình nói rằng bạn không thể xóa nó vì đang mở ở một nơi khác.

  • Nhấn vào nút bắt đầu
  • Loại TASkmgr
  • Trong cửa sổ mới mở, dưới tab tiến trình, hãy tìm thư mục / chương trình bạn đang cố xóa.
  • Nhấp chuột phải vào nó và kết thúc nhiệm vụ
  • Quay trở lại vị trí thư mục / chương trình và bạn sẽ có thể xóa nó ngay bây giờ

0

Hãy thử Ctrl+ Shift+ Esc> "chương trình", sau đó nhấp chuột phải vào chương trình bạn muốn hủy kích hoạt và chọn hủy kích hoạt. Sau đó xóa nó một lần nữa!

(Hệ điều hành của tôi bằng tiếng Thụy Điển nên các bản dịch có thể không hoàn toàn giống nhau! Nhưng bạn hiểu rồi!)


0

Đôi khi tay cầm bị khóa là trình thám hiểm internet, tôi sẽ đóng nó trong trình quản lý tác vụ, sau đó xóa tệp hoặc thư mục hoặc đóng trình thám hiểm ... thường thì một thư mục có tệp txt đang mở và đó sẽ là tay cầm chiến thắng ' Bạn có thể xóa các thư mục / tập tin ... chỉ cần đóng tập tin txt và sau đó bạn sẽ ổn, giờ bạn có thể xóa thư mục của bạn.


Tại sao IE sẽ khóa các tệp cục bộ và tại sao .txt?
gronostaj

0

Có một tệp docs.zip được WinSCP sử dụng.

  1. Tôi đã tạo một tệp mới bằng cách sử dụng cùng tên docs.zip
  2. Đã dán trên docs.zip hiện có và tệp cũ đã được thay thế bằng tệp mới có cùng tên.
  3. Sau đó, tôi đã xóa tập tin docs.zip mới được sao chép lại với nhau.

Chúc may mắn


0

Vì vậy, đã có một số câu trả lời tốt, nhưng tôi sẽ đóng góp một cái gì đó mới, đó là những gì tôi đã sử dụng để giải quyết vấn đề tương tự trước đó ngày hôm nay.

Tôi đã sử dụng Python. Tôi biết, tôi biết, nó không có nguồn gốc từ Windows, nhưng nó là một tiện ích rất phổ biến cho sysadins, nhà phát triển và siêu người dùng và bạn có thể loại bỏ điều này với một oneliner đơn giản:

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

... lô tô bango.


-1
  1. Tìm tập tin mà bạn muốn xóa.

  2. Đổi tên nó thành bất cứ điều gì bạn thích.

  3. Xóa đi.


2
Câu trả lời này sẽ không hoạt động. Nếu một tập tin hoặc thư mục được sử dụng, bạn không thể đổi tên nó.
DavidPostill

-2

đi vào thư mục cho đến tập tin hoặc tập tin đang được thực thi. Khi bạn cố gắng xóa tập tin này, nó sẽ cung cấp cho bạn quá trình nó đang chạy. ghi nó xuống, sau đó đi đến trình quản lý tác vụ và kết thúc quá trình đó .. sau đó bạn có thể xóa thư mục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.