Tìm hiểu quá trình nào đang khóa một tập tin hoặc thư mục trong Windows


716

Làm thế nào tôi có thể tìm ra quá trình nào đang khóa một tập tin hoặc thư mục trong Windows?

Chẳng hạn, khi cố gắng xóa một thư mục, Windows báo cáo điều này:

Hành động không thể hoàn thành vì thư mục đang mở trong một chương trình khác

Xảy ra tương tự với một tệp, nhưng làm cách nào để biết chương trình hoặc ứng dụng nào hiện đang sử dụng và ngăn tôi xóa tệp hoặc thư mục?



1
Tập tin của bạn có phải là video không? Bạn có thể thấy rằng chính Windows Explorer đang "sử dụng" tệp ...
DisgruntledGoat

37
Làm thế nào đây là một bản sao? Anh ấy đặc biệt hỏi làm thế nào để tìm ra quá trình nào đang khóa một tệp chứ không phải làm thế nào để xóa một tệp bị khóa.
b1nary.atr0phy

8
Tôi không thể thêm một câu trả lời đơn giản, tích hợp ở đây vì nó được đánh dấu không chính xác là một bản sao, tôi cũng không thể thêm nó vào luồng khác vì điều đó chỉ áp dụng cho XP. Nhưng dù sao, đối với các phiên bản Windows có Resource Monitor (nhập nó vào thanh tìm kiếm), hãy chuyển đến tab CPU / Xử lý liên kết, sau đó tìm kiếm tệp hoặc thư mục.
jontyc

Tôi đã học được rằng Windows 10 (và tôi đoán sớm nhất là Windows 7) có một chương trình có tên là Resource Monitor, cho phép bạn xem các quá trình đang khóa một tệp hoặc thư mục: stackoverflow.com/a/24126882/470749
Ryan

Câu trả lời:


67

Phương pháp 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
}

Các openfileslệnh cần phải có sự hỗ trợ cho các tập tin địa phương cho phép, bằng cách chạy openfiles /local onvà khởi động lại.

Thêm chi tiết Cách tìm hiểu quy trình nào đang khóa tệp hoặc thư mục trong Windows


12
Trước tiên, tính năng này phải được bật vớiopenfiles /local on
mstrange

6
Thật không may, openfilesdường như không hoạt động trên Windows 64 bit:ERROR: The target system must be running a 32 bit OS.
Thomas S.

1
Hoạt động trên Win10 64 cho tôi
Michael

3
Có vẻ như về cơ bản bạn có thể đạt được nó trong cmd thuần túy với openfiles /query /fo table | find /I "<path>"?
mwfearnley

1
... Nếu chúng tôi sẵn sàng khởi động lại để kích hoạt một cái gì đó, tại sao chúng tôi sẽ không khởi động lại để truy cập vào thư mục? Tôi không hiểu làm thế nào vấn đề này của OP khi "chỉ cần khởi động lại máy của bạn" sẽ dễ dàng hơn nhiều và vẫn cần phải khởi động lại.
Nic Hartley

690

Bạn có thể sử dụng Trình theo dõi tài nguyên để tích hợp sẵn với Windows 7, 8 và 10.

  1. Giám sát tài nguyên mở , có thể được tìm thấy
    • Bằng cách tìm kiếm Resource Monitor hoặc resmon.exe trong menu bắt đầu, hoặc
    • Là một nút trên tab Hiệu suất trong Trình quản lý tác vụ của bạn
  2. Chuyển đến tab CPU
  3. Sử dụng trường tìm kiếm trong phần Xử lý liên kết
    • Xem mũi tên màu xanh trong ảnh chụp màn hình bên dưới

Khi bạn đã tìm thấy tay cầm, bạn có thể xác định quy trình bằng cách xem cột Hình ảnh và / hoặc PID.

Sau đó, bạn có thể cố gắng đóng ứng dụng như bình thường hoặc nếu không thể, chỉ cần nhấp chuột phải vào tay cầm và giết quá trình trực tiếp từ đó. Dễ như ăn bánh!

Ảnh chụp màn hình tài nguyên


18
Lưu ý: Trình giám sát tài nguyên không tìm thấy bất kỳ xử lý liên quan nào trong trường hợp của tôi trong khi Process Explorer (như được mô tả ở trên ) đã làm.
ComFalet

15
@ComFalet Chà, ProcessExplorer có thể mạnh hơn trong nhiều trường hợp, nhưng đối với tôi Resource Monitor luôn tìm thấy ứng dụng khóa tệp mà tôi đang cố gắng làm gì đó. Tôi cũng thích nó hơn Process Explorer đơn giản vì nó ở ngay trong HĐH. Không cần tải thêm và một phím tắt thêm ở đâu đó.
Svish

8
Tôi không thể tìm thấy điều này trong Process Explorer, nhưng thật dễ dàng để tìm thấy các hướng dẫn này trong Trình quản lý tài nguyên. Cảm ơn.
Tatiana Racheva

6
@ComFalet Trong trường hợp của tôi, đó chỉ là một trường hợp khác: Process Explorer không tìm thấy tay cầm, trong khi Resource Monitor thì có.
Uwe Keim

9
+1 - điều này cũng hoạt động tốt trên Windows 10
Matt Innes

390

Một vài lựa chọn:

Microsoft / SysIternals Process Explorer - Đi đến Tìm> Tìm Xử lý hoặc DLL. Trong hộp văn bản "Xử lý hoặc chuỗi con DLL:", nhập đường dẫn đến tệp (ví dụ: "C: \ path \ to \ file.txt") và nhấp vào "Tìm kiếm". Tất cả các quy trình có xử lý mở đối với tệp đó sẽ được liệt kê.

WhoLockMe - Tiện ích mở rộng Explorer có thêm tùy chọn menu chuột phải

NB WhoLockMe dường như không hoạt động với Win 10 (ít nhất là tôi đã không thể đăng ký nó với một trong các phiên bản 32-bit hoặc 64-bit của personas.exe).


26
Trong Windows 7, nếu bạn cố xóa một tệp bị khóa, thông báo lỗi sẽ cho bạn biết quá trình nào đã bị khóa
Garry English

10
LƯU Ý: Unlocker cài đặt Phần mềm quảng cáo nếu bạn không cẩn thận. Từ trang web của họ: "Tính năng quảng cáo: Thanh công cụ Delta hoàn toàn tùy chọn."
Julian Knight

11
@GarryEnglish vì một số lý do không phải lúc nào cũng như vậy. Tôi chỉ cần sử dụng procexp để nói với tôi rằng notepad ++ có khóa trên một thư mục. Windows 7 đã không thể cho tôi biết thủ phạm.
GuiSim

4
@ jpmc26 Số WhoLockMe không hoạt động trên Windows 7.
ceving

3
@ GarryEnglish- Như GuiSim đã nêu, điều này chắc chắn không phải luôn luôn như vậy, và theo kinh nghiệm của tôi, nó hiếm khi xảy ra.
dgo

196

Hãy xem Process Explorer ( procexp.exe).

Từ phần giới thiệu:

Đã bao giờ tự hỏi chương trình nào có một tập tin hoặc thư mục cụ thể mở? Bây giờ bạn có thể tìm hiểu.

Để tìm hiểu quá trình đang sử dụng một tệp cụ thể, hãy làm theo các bước sau:

  1. Chuyển đến Tìm , Tìm Xử lý hoặc DLL .. hoặc chỉ cần nhấn Ctrl+ F.

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

  2. Nhập tên của tệp và nhấn Tìm kiếm .

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

  3. Process Explorer sẽ liệt kê tất cả các quy trình có xử lý tệp đang mở. Nhấp vào một mục để tập trung quá trình trong cửa sổ chính.

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

  4. Sau đó, bạn thậm chí có thể đóng tay cầm thông qua khung bên dưới ( Ctrl+ L):

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


6
Quá trình Hacker cũng có thể làm điều đó.
Benoit

5
Như một câu trả lời khác đề cập, Xử lý là một công cụ dòng lệnh từ SysIternals cũng sẽ hoàn thành nhiệm vụ này.
heavyyd

Tôi quên một cmd proces mở trong thư mục, proces explorer đã giúp tôi chú ý đến nó.
davejal

Lưu ý với nhân viên Google, phiên bản hiện tại của PE dường như không còn hỗ trợ Đóng Xử lý
MickyD

Không thể hoạt động trong Win10 64-bit 1709
K7AAY

30

LockHunter có thể mở khóa bất kỳ trình xử lý nào có thể đã khóa các tệp hoặc thư mục của bạn. Không giống như các phần mềm miễn phí tương tự, nó hỗ trợ cả Windows 32 và 64 bit.

Đây là một công cụ miễn phí để xóa các tệp bị chặn bởi những thứ bạn không biết. LockHunter rất hữu ích để chống lại phần mềm độc hại và các chương trình khác đang chặn các tệp mà không có lý do. Không giống như các công cụ tương tự khác, nó xóa các tệp vào thùng rác để bạn có thể khôi phục chúng nếu bị xóa do nhầm lẫn.

  • Hiển thị các quá trình khóa một tập tin hoặc thư mục
  • Cho phép mở khóa, xóa, sao chép hoặc đổi tên tệp bị khóa
  • Cho phép tiêu diệt quá trình khóa
  • Cho phép loại bỏ các quá trình khóa từ ổ cứng
  • Tích hợp vào menu Explorer
  • Nó xóa các tệp vào thùng rác, vì vậy bạn có thể khôi phục chúng nếu bị xóa do nhầm lẫn
  • Hỗ trợ cả Windows 32 và 64 bit

5
Hai câu trả lời hàng đầu không làm việc cho tôi và những câu trả lời tiếp theo bị chặn bởi tường lửa của tôi hoặc được cảnh báo không được truy cập bởi chrome của tôi!. LockHunter hoạt động hoàn hảo.
dùng3885927

1
Thợ săn may mắn đã làm việc cho tôi khi những người khác không có
SheldonH

Cái này hoạt động.
jdhao

10

EMCO UnlockIT có thể xác định quá trình đã khóa tệp cũng như mở khóa tệp để bạn có thể xóa / chỉnh sửa / di chuyển tệp. Chương trình này hoàn toàn miễn phí, mặc dù phiên bản mới hơn chậm hơn và cồng kềnh hơn so với phiên bản gốc (có GUI đơn giản, không bị lỗi, nhưng được tải khá nhiều ngay lập tức và không có màn hình giật gân khó chịu). Ngoài ra, phiên bản gốc được sử dụng để bật lên tự động bất cứ khi nào lỗi bạn đề cập được kích hoạt, cho phép bạn mở khóa ngay lập tức tệp và thực hiện thao tác bạn đang cố gắng.

Tuy nhiên, UnlockIT là một chương trình cực kỳ hữu ích, cung cấp một chức năng cơ bản bị thiếu nghiêm trọng từ Windows. Đây là một trong những bộ công cụ tiêu chuẩn về các tiện ích mà tôi cài đặt trên tất cả các máy tính Windows mà tôi làm việc.


@ John: Chà, nó xác định chương trình đã khóa một tập tin. Và bạn vẫn có thể tự hủy quá trình thông qua trình quản lý tác vụ. Tuy nhiên, thường đơn giản hơn là chỉ mở khóa tệp (đặc biệt là khi trình thám hiểm đã khóa tệp hầu hết thời gian) thay vì giết quá trình đã khóa tệp (thường là do đã truy cập tệp và mở trình xử lý tệp do một trục trặc chương trình).
Lèse majesté

2

Đây là khám phá & giải pháp của tôi.

Ngẫu nhiên, không có câu trả lời nào ở trên giải quyết được vấn đề của tôi.

Tôi thậm chí đã thử sử dụng UNLOCKER, điều này tỏ ra vô giá trị.

Vấn đề của tôi là sao lưu Memeo Autosync

Rõ ràng, quá trình sao lưu này để lại đủ một "tập tin ma như". "Tệp giống như ma" này sẽ xuất hiện bất cứ khi nào tôi ALT-TAB máy tính của tôi (Windows Professional XP), tức là tôi sẽ thấy HAI Chương trình MS Excel đang chạy, khi tôi chỉ có MỘT hiển thị, trên TASK BAR của tôi.

Tôi đã tìm thấy giải pháp này khi tôi nghĩ rằng nó có thể là Bảo vệ Điểm cuối (Chống vi-rút) của SYMANTEC; và vô hiệu hóa chương trình. Tuy nhiên, tôi tiếp tục nhận được thông báo lỗi:

không thể xóa (tệp LARGE.xls): Nó đang được sử dụng bởi người khác hoặc chương trình. Đóng mọi chương trình có thể đang sử dụng tệp này và thử lại.

Sau đó tôi tiếp tục thấy thông báo Memeo về "đồng bộ hóa" và QUIT chương trình.

Sau đó, KHÔNG CÓ L ERI.

Đối với bạn, nó có thể là BẤT K of những nền tảng tiết kiệm này.


2

Nếu bạn không biết chương trình mà tập tin đang sử dụng thì bạn có thể truy cập My Computer; click chuột phải; chọn Quản lý. Trong Công cụ hệ thống> Thư mục được chia sẻ> Mở tệp, bạn sẽ có thể thấy người dùng đã khóa tệp. Bạn có thể đóng tệp từ đây và sau đó bạn có thể thực hiện nhiệm vụ đổi tên hoặc xóa tệp. Hi vọng điêu nay co ich


1
Điều này sẽ chỉ làm việc cho các thư mục được chia sẻ.
sweetfa

1

Khả năng bổ sung, chỉ để tiết kiệm cho mọi người thời gian tôi vừa dành:

Trong các phiên bản Windows cũ hơn, bạn có thể nhận được "Truy cập bị từ chối - bạn có thể không có quyền hoặc tệp có thể đang được sử dụng". Nếu bạn tìm thấy thông qua Process Explorer, trên thực tế, các tệp này không được mở bởi bất kỳ ai, tỷ lệ cược là có vấn đề với bảo mật. Sử dụng tài khoản quản trị viên, chọn các tệp trong Explorer, nhấp chuột phải và chọn Thuộc tính, Bảo mật, Nâng cao, Chủ sở hữu. Điều lạ lùng là các tệp được sở hữu bởi một tài khoản không còn tồn tại hoặc không còn có thể được xác minh để tồn tại (do thay đổi cài đặt tin cậy Active Directory).

Thay đổi quyền sở hữu thành Quản trị viên và bạn tốt để đi.


0

Rất nhiều chương trình ở đây đã lỗi thời. Cuối cùng tôi đã kết thúc bằng OpenedFilesView của nirsoft, nó hoạt động rất tốt.

Ảnh chụp màn hình

Mặc dù phần tốt nhất là tích hợp menu explorer, rất dễ kích hoạt. Theo trang web

Trình đơn ngữ cảnh Explorer

Bắt đầu từ phiên bản 1.10, bạn có thể khởi chạy OpenedFilesView trực tiếp từ Windows Explorer và chỉ xem các thẻ điều khiển của tệp hoặc thư mục mà bạn muốn kiểm tra. Để bật tính năng này, hãy kiểm tra 'Bật Trình đơn ngữ cảnh Explorer' trong menu Tùy chọn. Sau khi bật tính năng này, bạn có thể nhấp chuột phải vào bất kỳ tệp hoặc thư mục nào trên Windows Explorer và chọn mục 'OpenedFilesView' từ menu. Nếu bạn chạy tùy chọn OpenedFilesView cho một thư mục, nó sẽ hiển thị tất cả các tệp đã mở bên trong thư mục đó. Nếu bạn chạy tùy chọn OpenedFilesView cho một tệp, nó sẽ hiển thị tất cả các thẻ điều khiển đã mở cho tệp đó.

danh mục

Công cụ này vẫn hoạt động đáng tin cậy trong năm 2019

Licensed under cc by-sa 3.0 with attribution required.