Câu hỏi Tìm hiểu quy trình nào đang khóa tệp hoặc thư mục trong Windows


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

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

Không thể hoàn tất tác vụ vì thư mục mở trong chương trình khác

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


522
2018-03-09 14:05


gốc


Xem câu hỏi ServerFault này. - John Fouhy
Bản sao: superuser.com/questions/13291/how-do-i-delete-a-locked-file - heavyd
Tệp của bạn có phải là video không? Bạn có thể thấy rằng bản thân Windows Explorer đang "sử dụng" tệp ... - DisgruntledGoat
Làm thế nào là một bản sao? Anh ấy là đặc biệt hỏi cách tìm ra quy trình nào đang khóa một tệp, chứ không phải cách xóa tệp bị khóa. - b1nary.atr0phy
Tôi không thể thêm một câu trả lời được xây dựng trong, đơn giản ở đây vì nó được đánh dấu không chính xác như một bản dupe, cũng như tôi không thể thêm nó vào chủ đề khác vì nó chỉ áp dụng cho XP. Nhưng dù sao, đối với các phiên bản Windows với Resource Monitor (nhập nó vào thanh tìm kiếm), hãy vào tab CPU / Handles liên quan, sau đó tìm kiếm tệp hoặc thư mục. - jontyc


Các câu trả lời:


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 openfiles lệnh cần có hỗ trợ cho các tệp cục bộ được bật, bằng cách chạy openfiles /local on và khởi động lại.

Biết 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


35
2018-04-26 02:59



Vì lý do nào đó, điều này chỉ trả lại một chuỗi rỗng cho tôi. Tôi cũng đã chạy PS ISE trong chế độ quản trị viên. - Dib
Tính năng này trước tiên phải được bật với openfiles /local on - mstrange
Không may, openfiles dườ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.
Hoạt động trên Win10 64 cho tôi - Michael
Chạy này đã cho tôi cùng Access là bị từ chối lỗi tôi đã nhận được ban đầu, và sau đó luôn luôn in ra thông báo lỗi không tồn tại. Câu trả lời dưới đây, tuy nhiên, đã cho tôi những thông tin tôi cần - IIS đã khóa thư mục tôi cần thay đổi. - Chris Thompson


Đối với Windows 7, 8 và 10, bạn có thể sử dụng tính năng tích hợp sẵn Giám sát tài nguyên cho điều này.

  1. Mở Giám sát tài nguyên, có thể được tìm thấy
    • Bằng cách tìm kiếm resmon.exe trong menu bắt đầu hoặc
    • Như một nút trên Hiệu suất tab trong Quản lý công việc
  2. Mở CPU và sử dụng trường tìm kiếm trong Liên quan xử lý phần
    • Được trỏ vào bằng mũi tên màu xanh lam trong ảnh chụp màn hình bên dưới

Trong trường hợp nó không rõ ràng, khi bạn đã tìm thấy các xử lý, bạn có thể xác định quá trình bằng cách nhìn vào hình ảnh và / hoặc cột PID.

Sau đó bạn có thể đóng ứng dụng nếu bạn có thể làm điều đó, hoặc chỉ cần nhấp chuột phải vào hàng và bạn sẽ nhận được tùy chọn giết chết quá trình ngay tại đó. Dễ như ăn bánh!

Resource Monitor screenshot


432
2017-09-10 11:43



Lưu ý: Trình theo dõi tài nguyên không tìm thấy bất kỳ trình điều khiển liên quan nào trong trường hợp của tôi trong khi Process Explorer (như miêu tả trên) đã làm. - ComFreek
@ComFreek Vâng, ProcessExplorer có thể mạnh mẽ 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 thực hiện. Tôi cũng thích nó để Process Explorer đơn giản chỉ vì nó có ngay trong hệ điều hành. Không cần tải xuống thêm và phím tắt phụ ở đâu đó. - Svish
Tôi không thể tìm thấy điều này trong Process Explorer, nhưng thật dễ dàng để định vị với các hướng dẫn này trong Trình quản lý tài nguyên. Cảm ơn. - Tatiana Racheva
@ComFreek Trong trường hợp của tôi nó chỉ là trường hợp khác: Process Explorer đã không tìm thấy các xử lý, trong khi Resource Monitor đã làm. - Uwe Keim
+1 - điều này cũng hoạt động tốt trên Windows 10 - Matt Innes


Một vài tùy chọn:

Microsoft / SysInternals Process Explorer - Vào Find> Find Handle hoặc DLL. Trong hộp văn bản "Xử lý hoặc DLL chuỗi con:", 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ở cho tệp đó sẽ được liệt kê.

WhoLockMe - Tiện ích Explorer bổ sung một tùy chọn menu chuột phải

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


366
2018-03-09 14:22



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 quy trình nào đã bị khóa - Garry English
LƯU Ý: Trình mở khóa 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
@GarryEnglish vì một lý do nào đó không phải lúc nào cũng 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
@ jpmc26 No. WhoLockMe không hoạt động trên Windows 7. - ceving
@ GarryEnglish- Như đã nói bởi GuiSim, điều này là chắc chắn không phải luôn luôn như vậy, và theo kinh nghiệm của tôi, hiếm khi xảy ra trường hợp này. - dgo


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

Từ giới thiệu của nó:

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

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

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

    Enter image description here

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

    Enter image description here

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

    Enter image description here

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

    Enter image description here


175
2018-03-12 03:35



Quá trình Hacker cũng có thể làm điều đó. - Benoit
Như câu trả lời khác đề cập, Xử lý là một công cụ dòng lệnh từ SysInternals cũng sẽ thực hiện nhiệm vụ này. - heavyd
Tôi quên mất một lệnh mở rộng trong thư mục, trình khám phá đã 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ợ nữa Đóng xử lý - MickyD
Không hoạt động được trong Win10 64-bit 1709 - K7AAY


LockHunter có thể mở khóa bất kỳ trình xử lý nào có thể đã khóa 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.

Nó là một công cụ miễn phí để xóa các tập tin bị chặn bởi một cái gì đó bạn không biết. LockHunter hữu ích cho việc chống lại phần mềm độc hại và các chương trình khác đang chặn 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ị quy trình khóa tệp 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 giết quá trình khóa
  • Cho phép xóa các quy trình khóa khỏi ổ cứng
  • Tích hợp vào trình đơn 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

19
2018-03-13 22:06



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 đi đến bằng chrome của tôi !. LockHunter đã làm việc hoàn hảo. - user3885927
Thợ săn may mắn đã làm việc cho tôi khi những người khác không - SheldonH


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 hoàn toàn miễn phí, mặc dù phiên bản mới hơn chậm hơn một chút so với bản gốc (có giao diện đơn giản, không có giao diện nhưng được tải khá nhanh ngay lập tức và không có màn hình gây phiền nhiễu). Ngoài ra, phiên bản gốc được sử dụng để tự động bật lên 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 thử.

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 trong Windows. Nó nằm trong bộ công cụ tiện ích tiêu chuẩn 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.


9
2018-03-12 03:37



@ John: Vâng, nó không 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ỉ cần mở tệp (đặc biệt khi trình khám phá đã khóa tệp hầu hết thời gian) thay vì phải hủy quá trình đã khóa (thường là do đã truy cập tệp và mở trình xử lý tệp đang mở) do một trục trặc chương trình). - Lèse majesté


Đây là khám phá và 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 mà chứng minh vô giá trị.

Vấn đề của tôi là của Memeo Autosync Backup

Rõ ràng, quá trình sao lưu này để lại đủ "ma như tập tin". "Ghost như tệp" này sẽ hiển thị 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ó ONE hiển thị trên Thanh TASK của tôi.

Tôi đi qua giải pháp này khi tôi nghĩ rằng nó có thể đã được bảo vệ Endpoint (Anti-Virus) SYMANTEC; và vô hiệu hóa chương trình. Tuy nhiên, tôi vẫn 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 một người hoặc một chương trình khác. Đó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 nhìn thấy thông báo Memeo về "đồng bộ" và QUIT chương trình.

Sau đó, KHÔNG L ERI.

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


2
2017-10-13 09:43





Nếu bạn không biết chương trình tập tin đang sử dụng thì bạn có thể vào 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 tin 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


2
2018-02-01 06:42



Điều này sẽ chỉ hoạt động cho các thư mục được chia sẻ. - sweetfa


Khả năng bổ sung, chỉ để cứu mọi người thời gian tôi vừa trải qua:

Trong các phiên bản Windows cũ hơn, bạn có thể bị "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 rằng các tập tin được, trên thực tế, không được mở bởi bất cứ ai, tỷ lệ cược là có một 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. Tỷ lệ cược 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 (vì thay đổi cài đặt tin cậy Active Directory).

Thay đổi quyền sở hữu đối với Quản trị viên và bạn tốt để tiếp tục.


1
2017-09-26 16:56