ค้นหาว่ากระบวนการใดกำลังล็อกไฟล์หรือโฟลเดอร์ใน Windows


716

ฉันจะทราบได้อย่างไรว่ากระบวนการใดทำการล็อกไฟล์หรือโฟลเดอร์ใน Windows

ตัวอย่างเช่นเมื่อพยายามลบโฟลเดอร์ Windows จะรายงานสิ่งนี้:

ไม่สามารถดำเนินการให้เสร็จสมบูรณ์ได้เนื่องจากโฟลเดอร์เปิดอยู่ในโปรแกรมอื่น

เกิดขึ้นเหมือนกันกับไฟล์ แต่ฉันจะรู้ได้อย่างไรว่าโปรแกรมหรือแอปพลิเคชันใดที่ใช้งานอยู่ในปัจจุบันและป้องกันไม่ให้ฉันลบไฟล์หรือโฟลเดอร์



1
ไฟล์ของคุณเป็นวิดีโอหรือไม่? คุณอาจพบว่า Windows Explorer นั้นเป็น "กำลังใช้" ไฟล์ ...
DisgruntledGoat

37
สิ่งนี้ซ้ำกันอย่างไร เขาโดยเฉพาะถามถึงวิธีการหากระบวนการที่ล็อคไฟล์ไม่ได้วิธีการลบไฟล์ที่ถูกล็อค
b1nary.atr0phy

8
ฉันไม่สามารถเพิ่มคำตอบในตัวได้ง่ายกว่าที่นี่เนื่องจากมีการทำเครื่องหมายอย่างไม่ถูกต้องว่าเป็น dupe และฉันไม่สามารถเพิ่มไปยังเธรดอื่นได้เนื่องจากใช้กับ XP เท่านั้น แต่อย่างไรก็ตามสำหรับรุ่น Windows ที่มีตัวตรวจสอบทรัพยากร (พิมพ์ในแถบค้นหา) ให้ไปที่แท็บ CPU / ตัวจัดการที่เกี่ยวข้องจากนั้นค้นหาไฟล์หรือโฟลเดอร์
jontyc

ฉันเรียนรู้ว่า Windows 10 (และฉันเดาว่าเร็วที่สุดเท่าที่ Windows 7) มีโปรแกรมที่ชื่อว่า Resource Monitor ซึ่งช่วยให้คุณเห็นว่ากระบวนการใดกำลังล็อกไฟล์หรือโฟลเดอร์: stackoverflow.com/a/24126882/470749
Ryan

คำตอบ:


67

วิธีการ 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
}

openfilesคำสั่งจะต้องมีการสนับสนุนสำหรับไฟล์ท้องถิ่นเปิดใช้งานโดยการทำงานopenfiles /local onและรีสตาร์ท

รายละเอียดเพิ่มเติมวิธีค้นหาว่ากระบวนการใดกำลังล็อกไฟล์หรือโฟลเดอร์ใน Windows


12
ต้องเปิดใช้งานคุณลักษณะนี้ก่อนopenfiles /local on
mstrange

6
โชคไม่ดีที่openfilesดูเหมือนว่าจะไม่ทำงานบน Windows 64 บิต:ERROR: The target system must be running a 32 bit OS.
Thomas S.

1
ทำงานบน Win10 64 สำหรับฉัน
Michael

3
ดูเหมือนว่าคุณจะสามารถบรรลุมันใน cmd บริสุทธิ์ด้วยopenfiles /query /fo table | find /I "<path>"?
mwfearnley

1
... หากเรายินดีที่จะรีสตาร์ทเพื่อเปิดใช้งานบางอย่างทำไมเราไม่รีสตาร์ทเพื่อเข้าถึงโฟลเดอร์? ฉันไม่เข้าใจวิธีการแก้ไขปัญหาของ OP เมื่อ "เพิ่งรีบูทเครื่อง" จะง่ายกว่ามากและยังต้องรีบูต
Nic Hartley

690

คุณสามารถใช้ตรวจสอบทรัพยากรสำหรับเรื่องนี้ที่มาในตัวกับ Windows 7, 8, และ 10

  1. เปิดการตรวจสอบทรัพยากรซึ่งสามารถพบได้
    • โดยค้นหาResource Monitorหรือ resmon.exeในเมนู Start หรือ
    • เป็นปุ่มบนแท็บประสิทธิภาพในตัวจัดการงานของคุณ
  2. ไปที่แท็บCPU
  3. ใช้ช่องค้นหาในส่วนจับที่เกี่ยวข้อง
    • ดูลูกศรสีน้ำเงินในภาพหน้าจอด้านล่าง

เมื่อคุณพบที่จับแล้วคุณสามารถระบุกระบวนการได้โดยดูที่คอลัมน์รูปภาพและ / หรือ PID

จากนั้นคุณสามารถลองปิดแอปพลิเคชันได้ตามปกติหรือหากไม่สามารถทำได้ให้คลิกขวาที่หมายเลขอ้างอิงและฆ่ากระบวนการโดยตรงจากตรงนั้น peasy ง่าย ๆ !

ภาพหน้าจอการตรวจสอบทรัพยากร


18
หมายเหตุ: การตรวจสอบทรัพยากรไม่พบการจัดการที่เกี่ยวข้องในกรณีของฉันในขณะที่ Process Explorer (ตามที่อธิบายไว้ข้างต้น ) ทำ
ComFreek

15
@ComFreek ดี ProcessExplorer อาจมีประสิทธิภาพมากกว่าในหลาย ๆ กรณี แต่สำหรับฉัน Resource Monitor มักพบว่าแอปพลิเคชันล็อกไฟล์ที่ฉันพยายามทำบางสิ่งด้วย ฉันชอบที่จะใช้ Process Explorer เพียงเพราะมันอยู่ใน OS ไม่จำเป็นต้องมีการดาวน์โหลดเพิ่มเติมและทางลัดพิเศษที่อื่น
Svish

8
ฉันไม่พบสิ่งนี้ใน Process Explorer แต่ค้นหาได้ง่ายด้วยคำแนะนำเหล่านี้ในตัวจัดการทรัพยากร ขอบคุณ
Tatiana Racheva

6
@ComFreek ในกรณีของฉันมันเป็นแค่อีกกรณี: Process Explorer ไม่พบหมายเลขอ้างอิงในขณะที่ Resource Monitor ทำ
Uwe Keim

9
+1 - สิ่งนี้สามารถใช้งานได้ดีบน Windows 10
Matt Innes

390

ตัวเลือกสองทาง:

Microsoft / SysInternals Process Explorer - ไปที่ค้นหา> Find Handle หรือ DLL ในกล่องข้อความ "จัดการหรือสตริงย่อย:" พิมพ์เส้นทางไปยังไฟล์ (เช่น "C: \ path \ to \ file.txt") และคลิก "ค้นหา" กระบวนการทั้งหมดที่มีหมายเลขอ้างอิงที่เปิดไปยังไฟล์นั้นควรถูกแสดงรายการ

WhoLockMe - ส่วนขยายของ Explorer ซึ่งเพิ่มตัวเลือกเมนูคลิกขวา

NB WhoLockMe ดูเหมือนจะไม่ทำงานกับ Win 10 (อย่างน้อยฉันไม่สามารถลงทะเบียนกับ regsvr32.exe รุ่น 32 หรือ 64 บิต)


26
ใน Windows 7 หากคุณพยายามลบไฟล์ที่ถูกล็อคข้อความแสดงข้อผิดพลาดจะบอกคุณว่ากระบวนการใดถูกล็อก
Garry English

10
หมายเหตุ: Unlocker ติดตั้งแอดแวร์หากคุณไม่ระวัง จากเว็บไซต์ของพวกเขา: "คุณสมบัติส่งเสริมการขาย: แถบเครื่องมือเดลต้าตัวเลือกทั้งหมด"
Julian Knight

11
@GarryEnglish ด้วยเหตุผลบางอย่างนี่อาจไม่ใช่ทุกกรณี ฉันต้องใช้ procexp เพื่อบอกฉันว่า notepad ++ มีล็อคในโฟลเดอร์ Windows 7 ไม่สามารถบอกผู้กระทำผิดได้
GuiSim

4
@ jpmc26 ไม่ WhoLockMe ไม่ทำงานบน Windows 7
ceving

3
@ GarryEnglish- ตามที่ระบุไว้โดย GuiSim สิ่งนี้ไม่ได้เป็นอย่างนั้นเสมอไปและจากประสบการณ์ของฉันมันก็ไม่ค่อยเป็นเช่นนั้น
dgo

196

ดูที่Process Explorer ( procexp.exe)

จากการแนะนำ:

เคยสงสัยหรือไม่ว่าโปรแกรมใดมีไฟล์หรือไดเรกทอรีเฉพาะเปิดอยู่ ตอนนี้คุณสามารถค้นหา

หากต้องการค้นหาว่ากระบวนการใดกำลังใช้ไฟล์เฉพาะทำตามขั้นตอนเหล่านี้:

  1. ไปค้นหา , ค้นหามือจับหรือ DLL ..หรือเพียงแค่กด+CtrlF

    ป้อนคำอธิบายภาพที่นี่

  2. ใส่ชื่อของไฟล์และกดค้นหา

    ป้อนคำอธิบายภาพที่นี่

  3. Process Explorer จะแสดงรายการกระบวนการทั้งหมดที่มีจุดจับเปิดไฟล์ คลิกที่รายการเพื่อมุ่งเน้นกระบวนการในหน้าต่างหลัก

    ป้อนคำอธิบายภาพที่นี่

  4. คุณสามารถเลือกปิดแม้แต่จุดจับได้ด้วยตนเองผ่านบานหน้าต่างด้านล่าง ( Ctrl+ L):

    ป้อนคำอธิบายภาพที่นี่


6
กระบวนการแฮ็กเกอร์ยังสามารถทำได้
เบอนัวต์

5
เป็นอีกคำตอบที่กล่าวถึงHandleเป็นเครื่องมือบรรทัดคำสั่งจาก SysInternals ที่จะทำงานนี้ให้สำเร็จ
หนัก

ฉันลืม cmd proces ที่เปิดอยู่ในโฟลเดอร์ proces explorer ช่วยฉันสังเกตเห็นมัน
davejal

หมายเหตุสำหรับชาว Google PE รุ่นปัจจุบันดูเหมือนว่าจะไม่สนับสนุนClose Handle
MickyD

ล้มเหลวในการทำงานใน Win10 64 บิต 1709
K7AAY

30

LockHunterสามารถปลดล็อคตัวจัดการใด ๆ ที่อาจล็อคไฟล์หรือโฟลเดอร์ของคุณ ต่างจาก freewares ที่คล้ายกันมันรองรับ Windows ทั้ง 32 และ 64 บิต

มันเป็นเครื่องมือฟรีที่จะลบไฟล์ที่ถูกบล็อกโดยบางสิ่งที่คุณไม่รู้จัก LockHunter มีประโยชน์ในการต่อสู้กับมัลแวร์และโปรแกรมอื่น ๆ ที่บล็อกไฟล์โดยไม่มีเหตุผล ซึ่งแตกต่างจากเครื่องมือที่คล้ายกันอื่น ๆ มันจะลบไฟล์ไปยังถังรีไซเคิลดังนั้นคุณอาจกู้คืนไฟล์เหล่านั้นหากลบโดยไม่ได้ตั้งใจ

  • แสดงกระบวนการที่ล็อกไฟล์หรือโฟลเดอร์
  • อนุญาตให้ปลดล็อคลบคัดลอกหรือเปลี่ยนชื่อไฟล์ที่ถูกล็อค
  • ช่วยให้การฆ่ากระบวนการล็อค
  • อนุญาตให้ลบกระบวนการล็อคออกจากฮาร์ดไดรฟ์
  • รวมเข้ากับเมนู Explorer
  • มันจะลบไฟล์ไปยังถังรีไซเคิลดังนั้นคุณอาจกู้คืนไฟล์เหล่านั้นได้หากลบโดยไม่ตั้งใจ
  • รองรับ Windows ทั้ง 32 และ 64 บิต

5
คำตอบสองอันดับแรกไม่ได้ผลกับฉันและคำตอบที่อัปเดตถัดไปนั้นถูกบล็อกโดยไฟร์วอลล์ของฉันหรือเตือนไม่ให้ Chrome ของฉันไปถึง! LockHunter ทำงานได้อย่างสมบูรณ์แบบ
user3885927

1
นักล่าโชคได้ทำงานให้ฉันเมื่อคนอื่นไม่ได้
SheldonH

อันนี้ใช้ได้ผล
jdhao

10

EMCO UnlockITสามารถระบุกระบวนการที่ล็อกไฟล์รวมถึงปลดล็อกไฟล์เพื่อให้คุณสามารถลบ / แก้ไข / ย้ายไฟล์ได้ โปรแกรมฟรีทั้งหมดแม้ว่าเวอร์ชั่นใหม่จะช้ากว่าและป่องกว่าเดิมเล็กน้อย (ซึ่งมี GUI ธรรมดาที่ไม่มีการตัดต่อ แต่โหลดได้ค่อนข้างเร็วและไม่มีหน้าจอที่น่ารำคาญ) นอกจากนี้เวอร์ชันดั้งเดิมที่ใช้ในการป๊อปอัปโดยอัตโนมัติเมื่อใดก็ตามที่มีการเรียกใช้ข้อผิดพลาดที่กล่าวถึงจะช่วยให้คุณสามารถปลดล็อกไฟล์ได้ทันทีและดำเนินการตามที่คุณต้องการ

ถึงกระนั้น UnlockIT เป็นโปรแกรมที่มีประโยชน์อย่างไม่น่าเชื่อที่ให้การทำงานขั้นพื้นฐานที่ขาดหายไปอย่างยิ่งจาก Windows เป็นหนึ่งในชุดเครื่องมือมาตรฐานของยูทิลิตี้ที่ฉันติดตั้งในคอมพิวเตอร์ Windows ทั้งหมดที่ฉันทำงาน


@John: มันระบุโปรแกรมที่ล็อคไฟล์ไว้ และคุณยังสามารถฆ่ากระบวนการด้วยตนเองผ่านตัวจัดการงาน อย่างไรก็ตามโดยทั่วไปจะง่ายกว่าเพียงแค่ปลดล็อกไฟล์ (โดยเฉพาะเมื่อเป็น explorer ที่ล็อกไฟล์ไว้เกือบตลอดเวลา) แทนที่จะมีขั้นตอนการฆ่าที่ล็อกไว้ (โดยปกติจะเป็นการเข้าถึงไฟล์และเปิดตัวจัดการไฟล์ทิ้งไว้ อันเนื่องมาจากความผิดพลาดของโปรแกรม)
Lèsemajesté

2

นี่คือการค้นพบและการแก้ปัญหาของฉัน

บังเอิญไม่มีคำตอบข้างต้นแก้ปัญหาของฉัน

ฉันลองใช้ UNLOCKER ซึ่งพิสูจน์แล้วว่าไร้ค่า

ปัญหาของฉันคือการสำรองข้อมูล Memeo Autosync

เห็นได้ชัดว่ากระบวนการสำรองข้อมูลนี้ทำให้มีไฟล์ "ghost like file" เพียงพอ "ghost like file" นี้จะปรากฏขึ้นทุกครั้งที่ฉัน ALT-TAB คอมพิวเตอร์ของฉัน (Windows Professional XP) เช่นฉันเห็นโปรแกรม TWO MS Excel ทำงานอยู่เมื่อฉันเห็นเพียงหนึ่งเดียวบน TASK BAR ของฉัน

ฉันเจอวิธีแก้ไขปัญหานี้เมื่อฉันคิดว่าอาจเป็นการป้องกันจุดสิ้นสุดของ SYMANTEC (Anti-Virus) และปิดการใช้งานโปรแกรม อย่างไรก็ตามฉันได้รับข้อความแสดงข้อผิดพลาด:

ไม่สามารถลบ (ไฟล์ LARGE.xls): บุคคลหรือโปรแกรมอื่นกำลังถูกใช้งานอยู่ ปิดโปรแกรมใด ๆ ที่อาจใช้ไฟล์นี้อยู่และลองอีกครั้ง

ต่อมาฉันก็เห็นการแจ้งเตือน Memeo ของ "การซิงค์" และเลิกโปรแกรม

ต่อจากนั้นไม่มีข้อผิดพลาด

สำหรับคุณอาจเป็นไปได้ว่าบันทึกพื้นหลังเหล่านี้ใด ๆ


2

หากคุณไม่รู้จักโปรแกรมไฟล์ที่ใช้งานอยู่คุณสามารถไปที่ My Computer ได้ คลิกขวา; เลือกจัดการ ภายใต้เครื่องมือระบบ> โฟลเดอร์ที่ใช้ร่วมกัน> เปิดไฟล์คุณควรเห็นผู้ใช้ที่ล็อคไฟล์ คุณสามารถปิดไฟล์ได้จากที่นี่จากนั้นคุณสามารถดำเนินการเปลี่ยนชื่อหรือลบไฟล์ได้ หวังว่านี่จะช่วยได้


1
สิ่งนี้จะใช้ได้กับโฟลเดอร์ที่แชร์เท่านั้น
sweetfa

1

ความเป็นไปได้เพิ่มเติมเพียงเพื่อช่วยผู้คนในเวลาที่ฉันเพิ่งใช้ไป:

ใน Windows รุ่นเก่าคุณอาจได้รับ "ปฏิเสธการเข้าถึง - คุณอาจไม่มีสิทธิ์หรือไฟล์อาจถูกใช้งาน" หากคุณค้นพบผ่าน Process Explorer ว่าจริงๆแล้วไฟล์นั้นไม่ได้เปิดโดยใครก็ตามโอกาสก็คือว่ามีปัญหาด้านความปลอดภัย ใช้บัญชีผู้ดูแลระบบเลือกไฟล์ใน Explorer คลิกขวาและเลือกคุณสมบัติความปลอดภัยขั้นสูงเจ้าของ อัตราต่อรองคือไฟล์นั้นเป็นของบัญชีที่ไม่มีอยู่อีกต่อไปหรือไม่สามารถยืนยันได้อีกต่อไป (เนื่องจากการเปลี่ยนการตั้งค่าความน่าเชื่อถือของ Active Directory)

เปลี่ยนความเป็นเจ้าของเป็นผู้ดูแลและคุณก็พร้อมที่จะไป


0

โปรแกรมมากมายที่นี่ล้าสมัย ในที่สุดฉันก็ลงเอยด้วยการใช้OpenedFilesViewของ nirsoft ซึ่งทำงานได้ดีจริงๆ

ภาพหน้าจอ

แม้ว่าส่วนที่ดีที่สุดคือการรวมเมนู explorer ซึ่งเปิดใช้งานได้ง่าย ตามเว็บไซต์

เมนูบริบทของ Explorer

เริ่มจากเวอร์ชั่น 1.10 คุณสามารถเปิด OpenedFilesView ได้โดยตรงจาก Windows Explorer และดูเฉพาะที่จับของไฟล์หรือโฟลเดอร์ที่คุณต้องการตรวจสอบ เพื่อเปิดใช้งานคุณสมบัตินี้ให้ตรวจสอบ 'เปิดใช้งานเมนูบริบทของ Explorer' ใต้เมนูตัวเลือก หลังจากเปิดใช้งานคุณสมบัตินี้คุณสามารถคลิกขวาที่ไฟล์หรือโฟลเดอร์ใดก็ได้บน Windows Explorer แล้วเลือกรายการ 'OpenedFilesView' จากเมนู หากคุณเรียกใช้ตัวเลือก OpenedFilesView สำหรับโฟลเดอร์มันจะแสดงไฟล์ที่เปิดอยู่ทั้งหมดภายในโฟลเดอร์นั้น หากคุณเรียกใช้ตัวเลือก OpenedFilesView สำหรับไฟล์มันจะแสดงจุดจับเปิดทั้งหมดสำหรับไฟล์นั้น

เมนูบริบท

เครื่องมือนี้ยังคงใช้งานได้อย่างน่าเชื่อถือในปี 2562

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.