ฉันจะลบโฟลเดอร์ที่ใช้งานได้อย่างไร


134

บางครั้งเมื่อฉันทำงานใน Windows ฉันจะได้รับพรอมต์นี้เมื่อฉันพยายามลบไดเรกทอรี:

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

อย่างไรก็ตามโฟลเดอร์ไม่ได้เป็น "ใช้งาน" เลยและฉันไม่ได้เปิดไว้ ดังนั้นฉันจะลบมันสั้น ๆ ของการรีบูตได้อย่างไร


2
ฉันพบสิ่งนี้เกิดขึ้นบ่อยที่สุดเมื่อทำงานกับไฟล์ Outlook และ. msg ซึ่งในกรณีนี้การปิด Outlook จะหยุดข้อผิดพลาด "Folder In Use" ดูการอภิปรายเกี่ยวกับคำถามชุมชน Microsoftนี้
อากาศ

คำตอบ:


82

คำตอบนี้เก่า แต่ดูเหมือนว่าจะยังคงได้รับการเข้าชม ตามที่ระบุไว้ด้านล่างมีเครื่องมือในตัวใน Windows ตอนนี้:

เริ่ม→โปรแกรมทั้งหมด→อุปกรณ์เสริม→เครื่องมือระบบ→การตรวจสอบทรัพยากร (หรือเรียกใช้ resmon.exe)

คุณสามารถรับข้อมูลเพิ่มเติมในคำตอบด้านล่างนี้ คำตอบที่เหลือไม่มีความเกี่ยวข้องอีกต่อไป


Process Explorerจาก Sysinternals จะช่วยให้คุณค้นหาที่จับและ DLLs ค้นหาไดเรกทอรีและค้นหาว่ากระบวนการใดที่ใช้ "โฟลเดอร์"

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


4
แต่ฉันจะหาไดเร็กตอรี่ที่ใช้โดยกระบวนการได้อย่างไร?
Johnny_D

2
ใช้ Ctrl-F และป้อนชื่อโฟลเดอร์ด้านบนโฟลเดอร์ที่คุณพยายามลบ
MikeMurko

4
ขณะนี้มี GUI พื้นฐานสำหรับ Windows โปรดดูคำตอบของฉันด้านล่าง
bcorso

3
* Native GUI / สร้างเป็น / Windows (Resource Monitor) ดูด้านล่าง
Jamie Pate

ในกรณีของฉัน Process Explorer ไม่พบหมายเลขอ้างอิง แต่การตรวจสอบทรัพยากร (ดูคำตอบอื่น ๆ ) นั้นมีความสามารถ
Bart Verkoeijen

181

มี GUI พื้นฐานสำหรับ Windows:

เริ่มต้น >> โปรแกรมทั้งหมด >> อุปกรณ์เสริม >> เครื่องมือระบบ >> ตัวตรวจสอบทรัพยากร (หรือเรียกใช้ resmon.exe )

คุณสามารถค้นหา "ด้ามจับที่เกี่ยวข้อง" โดยใช้ช่องค้นหา (วงกลมสีแดง) และคลิกขวาที่กระบวนการที่คุณต้องการสิ้นสุด


ตัวอย่างเช่นในภาพด้านล่างฉันไม่สามารถลบไดเรกทอรี Eclipse ของฉัน การค้นหาหมายเลขอ้างอิงที่เกี่ยวข้องกับ Eclipse แสดงว่า adb.exe มีหมายเลขอ้างอิงไปยังไดเรกทอรี หลังจากสิ้นสุดกระบวนการ adb ฉันสามารถลบไดเรกทอรี Eclipse ได้

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


5
เคล็ดลับนี้เน้นกระบวนการที่ทำให้ฉันเสียใจ :)
Pure.Krome

2
การตรวจสอบทรัพยากรต้องการข้อมูลประจำตัวของผู้ดูแลระบบ
อากาศ

ฉันมีโฟลเดอร์ที่ล็อคอยู่บนเดสก์ท็อปของฉันซึ่งตัวตรวจสอบทรัพยากรไม่ได้แสดงว่ากำลังใช้งานอยู่ โอ้ดี
sirdank

ล็อค? นี่คือการแก้ไขข้อผิดพลาดเฉพาะในคำถามคือ "โฟลเดอร์เปิดอยู่ในโปรแกรมอื่น" นี่เป็นสถานการณ์ของคุณหรือไม่
bcorso

1
แก้ไขปัญหาให้ฉัน
RubenGeert

8

Unlocker และ WhoLockMe ไม่ทำงานบน Windows 64 บิต ผมใช้LockHunter


2
Unlocker มาพร้อมกับระบบ 64 บิต
avirk

lockhunter พบว่าขั้นตอนการล็อคสำหรับฉันนั้นทั้ง ProcExp และ ResMon ไม่สามารถหาได้
มนุษย์ที่ฉลาด

7

เมื่อใช้เครื่องมือที่บังคับให้ปิดการจัดการไฟล์ (เช่นUnlocker ที่กล่าวถึงก่อนหน้า) โปรดทราบว่าการทำเช่นนั้นอาจทำให้เกิดปัญหาร้ายแรง (ดูบทความนี้โดยเรย์มอนด์เฉิน .) ให้แน่ใจว่าคุณรู้ซึ่งโปรแกรมจะใช้ไฟล์และไม่มีพวกเขาว่ากำลังทำอะไรที่สำคัญ

ลองปิดแอปพลิเคชั่นก่อนได้ปลอดภัยกว่าแทนที่จะบังคับให้ปิดมือจับ


วิธีที่ดีบทความ สำคัญในการอ่าน
Pacerier

6

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

วาง handle.exe จาก Sysinternals ลงในตำแหน่งที่สามารถเข้าถึงได้จากเส้นทางของคุณ

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

ทำไมไม่ใช้แค่ ProcessExplorer เวอร์ชั่น UI?
Pacerier

5

ฉันเคยเกิดขึ้นกับ บางครั้งฉันสามารถแก้ไขปัญหาได้โดยการลบเนื้อหาก่อนจากนั้นจึงลบโฟลเดอร์ (ว่าง)


ใช่ - มันใช้งานได้สำหรับฉัน!
TigerTiger

@Wbdvlpr, @ kpoehls, ทำไมถึงใช้งานได้? ฉันคิดว่ามันเป็นเพียงตำนานและคุณโชคดี
Pacerier

3

วิธีที่เร็วและง่ายที่สุดคือใช้Handleตามที่กล่าวไว้โดย slolife แทนที่จะใช้ Process Explorer พวกเขาทั้งคู่มาจาก Mark Russinovich @ Microsoft

อย่าแปลกใจที่พบว่า explorer.exe เป็นผู้ร้ายอย่างที่ฉันทำในวันนี้ เห็นได้ชัดว่ามีวิธีการอย่างเป็นทางการในการรีสตาร์ท explorer.exe แต่ดูเหมือนว่าฉันจะเริ่มต้นด้วยการฆ่ามันและเริ่มสำรองข้อมูลอีกครั้งใน Task Manager


2

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

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


2

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

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2

ผมใช้มือจับจาก SysInternals (ตอนนี้ไมโครซอฟท์) คุณสามารถพิมพ์ในส่วนของชื่อโฟลเดอร์เพื่อดูว่ากระบวนการใดมีหมายเลขอ้างอิงบนโฟลเดอร์นั้นแล้วฆ่าหมายเลขอ้างอิง

handle64.exe -nobanner "<path>"

ตัวอย่างเช่น:

เอาต์พุตคำสั่งจาก commandline

เช่นเดียวกับคนอื่น ๆ ที่กล่าวถึงการฆ่าที่จับอาจทำให้เกิดปัญหาร้ายแรง


1

ฉันมีปัญหาเดียวกันกับแฟลชหน่วยความจำ (16 gb - อาจไม่เกี่ยวข้อง) และมันจะไม่ยอมให้ฉันลบโฟลเดอร์ ฉันพยายามหาวิธีแก้ปัญหาทุกอย่างที่พบในอินเทอร์เน็ต (ซ่อนภาพขนาดย่อลบโฟลเดอร์ออกจาก cmd prompt ด้วย explorer.exe ปิดตัวลงทุกอย่าง .. ) และไม่มีอะไรทำงาน มันทำงานอะไร อย่างนี้:

  1. เลือกไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์
  2. คลิกขวาที่พวกเขาและเลือก "ตัด"
  3. กลับไปที่โฟลเดอร์รูท
  4. วางพวกเขา
  5. ลบทิ้ง

มันใช้งานได้ดีสำหรับฉัน หวังว่าฉันช่วย :-)


1

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

  • คลิกปุ่มเริ่ม
  • พิมพ์ Taskmgr
  • ในหน้าต่างใหม่ที่เปิดขึ้นภายใต้แท็บกระบวนการค้นหาโฟลเดอร์ / โปรแกรมที่คุณพยายามลบ
  • คลิกขวาและจบภารกิจ
  • กลับไปที่ตำแหน่งโฟลเดอร์ / โปรแกรมและคุณควรจะสามารถลบได้ทันที

0

ลองCtrl+ Shift+ Esc> "โปรแกรม" จากนั้นคลิกขวาที่โปรแกรมที่คุณต้องการปิดการใช้งานและเลือกปิดการใช้งาน จากนั้นลบอีกครั้ง!

(ระบบปฏิบัติการของฉันเป็นภาษาสวีเดนดังนั้นการแปลอาจไม่เหมือนกันทั้งหมด! แต่คุณได้รับ!)


0

บ่อยครั้งที่หมายเลขอ้างอิงที่ถูกล็อกคือ Internet explorer ฉันปิดมันลงในตัวจัดการงานแล้วลบไฟล์หรือโฟลเดอร์หรือปิด explorer ... บ่อยครั้งที่โฟลเดอร์มีไฟล์ txt ที่เปิดอยู่และนั่นจะเป็นจุดจับที่ชนะ ' อย่าปล่อยให้คุณลบโฟลเดอร์ / ไฟล์ ... เพียงแค่ปิดไฟล์ txt จากนั้นคุณควรจะใช้ได้คุณสามารถลบโฟลเดอร์ของคุณได้แล้ว


ทำไม IE จะล็อคไฟล์ท้องถิ่นและทำไม.txt?
gronostaj

0

มีไฟล์ docs.zip ที่ WinSCP ใช้อยู่

  1. ฉันสร้างไฟล์ใหม่โดยใช้ docs.zip ชื่อเดียวกัน
  2. วางอยู่เหนือ docs.zip ที่มีอยู่และไฟล์เก่าถูกแทนที่ด้วยไฟล์ที่มีชื่อใหม่
  3. จากนั้นฉันก็ลบ docs.zip ไฟล์ที่เพิ่งคัดลอกทั้งหมดมารวมกัน

โชคดี


0

ดังนั้นมีคำตอบที่ดีอยู่แล้ว แต่ฉันจะมีส่วนร่วมในสิ่งใหม่ซึ่งเป็นสิ่งที่ฉันใช้ในการแก้ไขปัญหาเดียวกันนี้ก่อนหน้านี้วันนี้

ฉันใช้ Python ฉันรู้ฉันรู้ว่ามันไม่ได้เป็นของ Windows แต่เป็นยูทิลิตีที่ใช้กันทั่วไปมากสำหรับผู้ดูแลระบบนักพัฒนาและผู้ใช้ระดับสูงและคุณสามารถทำให้สิ่งนี้เป็นเรื่องง่าย

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

... บิงโกบังโก


-1
  1. ค้นหาไฟล์ที่คุณต้องการลบ

  2. เปลี่ยนชื่อเป็นอะไรก็ได้ที่คุณชอบ

  3. ลบมัน.


2
คำตอบนี้จะไม่ทำงาน หากมีการใช้ไฟล์หรือไดเรกทอรีคุณจะไม่สามารถเปลี่ยนชื่อได้
DavidPostill

-2

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

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