วิธีลบไฟล์ที่มีพา ธ ยาวเกินไปที่จะลบ [ซ้ำ]


203

ฉันทำงานกับซอร์สโค้ดสำหรับการมองเห็นของคอมพิวเตอร์ที่ฉันพบและไม่ทราบว่ามันสร้างไฟล์แคชที่มีชื่อยาวมากและตอนนี้ฉันไม่สามารถลบ 2 ในนั้นได้

ฉันพยายามเปลี่ยนชื่อเป็นชื่อที่สั้นกว่า แต่ฉันไม่สามารถทำอะไรกับไฟล์ได้ฉันพยายามรีสตาร์ทคอมพิวเตอร์และดูว่าจะหายไปหรือไม่

ข้อความแสดงข้อผิดพลาดแจ้งว่า:

เส้นทางปลายทางยาวเกินไป

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

ภาพหน้าจอ

ฉันจะลบไฟล์ในกรณีนี้ได้อย่างไร


มันจะทำงานจากบรรทัดคำสั่งด้วยdelคำสั่งหรือไม่ บางสิ่งที่del *.cacheควรลบไฟล์. แคชทั้งหมดในไดเรกทอรีปัจจุบัน
Ryan

"เส้นทาง \ to \ โฟลเดอร์ \ CACHEI ~ ระบบไม่สามารถค้นหาแฟ้มที่ระบุ" กล่าวว่าเป็นครั้งที่สองและมี 2 ไฟล์ในมี แต่ไม่ได้ทำอะไร
คริส

ในความคิดที่สองคุณสามารถตรวจสอบหนึ่งในคำถามอื่น ๆ ที่ได้รับคำตอบแล้ว อันนี้ยกตัวอย่างเช่น
Ryan

1
หากทั้งสองไฟล์เป็นไฟล์เดียวที่เหลืออยู่ในไดเรกทอรีคุณอาจโชคดีกว่าที่จะลบไดเรกทอรีทั้งหมด จากพรอมต์คำสั่งให้ลองใช้rd /s directoryname วิธีนี้จะล้างออกdirectorynameและไฟล์ / ไดเรกทอรีย่อยทั้งหมดอยู่ภายในดังนั้นให้ใช้ด้วยความระมัดระวัง :)
bitsmack

คำตอบ:


353

สมมติว่าคุณอยู่บน windows:

สิ่งที่ฉันทำเสมอคือใช้substเพื่อสร้างความสัมพันธ์ของตัวอักษรชื่อไดรฟ์กับส่วนของเส้นทาง

จากนั้นไปที่อักษรชื่อไดรฟ์ใหม่แล้วไปที่ไฟล์ที่มีชื่อยาว ตอนนี้คุณควรจะสามารถเปลี่ยนชื่อ / ลบ / ฯลฯ ได้ เหตุผลที่ใช้งานได้เนื่องจากเส้นทางนั้นไม่มีตัวอักษร> 255 ตัวอักษรอีกต่อไป

เพื่อสร้างโฟลเดอร์ย่อย

  1. เริ่มพรอมต์คำสั่ง (ไม่ต้องใช้สิทธิ์ผู้ดูแลระบบ)
  2. ใช้cdเพื่อนำทางไปยังโฟลเดอร์ที่คุณต้องการไป (คุณสามารถใช้tabชื่อเติมข้อความอัตโนมัติ
  3. พิมพ์subst j: .เพื่อสร้างการเชื่อมโยงของ driveletter (แทน. คุณยังสามารถพิมพ์เส้นทางทั้งหมด)
  4. ตอนนี้ใน Explorer คุณมีตัวอักษรไดรฟ์ใหม่ในพีซีนี้ ไปที่มันและทำสิ่งที่คุณต้องทำกับไฟล์. cache
  5. กลับไปที่หน้าต่าง cmd ของคุณและพิมพ์subst /d j:เพื่อลบไดรฟ์หรือเริ่มคอมพิวเตอร์ของคุณใหม่

แก้ไข: เคล็ดลับที่ฉันเรียนรู้ซึ่งสามารถทำให้สั้นลงได้เล็กน้อย จากหน้าต่าง Explorer ที่คุณมีปัญหาให้คลิกที่แถบที่อยู่เพื่อให้คุณพิมพ์ได้จากนั้นพิมพ์cmdและกดEnterเพื่อเริ่มต้นพรอมต์คำสั่งที่ตำแหน่งนั้นจากนั้นดำเนินการในขั้นตอนที่ 3 :)

EDIT2: เอาล่ะเคล็ดลับนี้สามารถขยายได้อีก หากคุณอยู่ใน explorer ที่เส้นทางที่ถูกต้องเพียงพิมพ์ในsubst j: .แถบที่อยู่แล้วกด Enter หน้าต่างคำสั่งจะปรากฏขึ้นดำเนินการคำสั่งและปิดอีกครั้งและไปที่นั่นไดรฟ์ใหม่ปรากฏขึ้นใน explorer


26
robocopy empty_dir base_nested_dir / purge - เพียงแค่สร้างไดเรกทอรีว่างเปล่าและบอก robocopy เพื่อล้างข้อมูลทุกอย่างในไดเรกทอรีเป้าหมายซึ่งไม่ได้อยู่ในไดเรกทอรีว่างstackoverflow.com/a/3320317/588759
rofrol

7
ลองแค่นี้และฉันไม่สามารถลบไฟล์ที่มีปัญหา .. ฉันใช้ cygwin กับ windows วิธีการทางเลือกคือการลบไฟล์แบบนั้น: rm -R / path / in / question ตราบใดที่ไม่มีโปรแกรมอื่นกำลังใช้ไฟล์อยู่ คุณดีที่จะไป
จอห์น

1
ฉันมีปัญหาที่ SUBST ไม่รู้จัก J: เป็นพารามิเตอร์ (แต่ก็ไม่เห็นไดรฟ์เสมือนที่มีอยู่) ดังนั้นตัวเลือก cygwin ที่ John พูดถึงนั้นทำงานได้ดี
Tisch

1
@rofrol คุณควรทำให้ robocopy ของคุณแสดงความคิดเห็นคำตอบ: มันง่ายกว่าการทำวิธีตั้งชื่อไดเรกทอรีเมื่อต้องจัดการกับไดเรกทอรีลูกมากมาย (เช่นที่สร้างในnode_modules)
Andy Brown

1
วิธีแก้ปัญหาของจอห์นทำงานได้ดีมากสำหรับฉันเพิ่งเพิ่ม -f (พารามิเตอร์บังคับ): rm -R -f / pathToDelete
Christophe Keller

67

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

แต่หากต้องการลบไฟล์ที่มีชื่อมากกว่า 255 ตัวอักษร:

  • เปิดพรอมต์คำสั่งโดยเรียกใช้ "CMD.EXE"
  • นำทางไปยังโฟลเดอร์ที่เก็บไฟล์
  • ใช้คำสั่ง DIR / X ซึ่งจะแสดงชื่อย่อของไฟล์
  • ลบโดยใช้ชื่อย่อ

เช่นหากไฟล์ชื่อ "verylongfilename.fil" ชื่อย่อจะแสดงเป็นชื่อ "verylo ~ 1.fil" และคุณสามารถลบโดยใช้ชื่อนั้น

โปรดทราบว่าแม้ว่า Windows เองจะสามารถจัดการเส้นทางที่ยาวกว่า 255 อักขระได้ แต่ GUI ส่วนใหญ่เช่น Windows Explorer นั้นถูก จำกัด ด้วยขีด จำกัด ที่สั้นกว่า


16
นี่เป็นคำตอบที่ดีกว่าคำตอบที่ยอมรับได้
Ben

3
คำตอบที่เลือกจะดีกว่าเพราะคุณสามารถลบทั้งโฟลเดอร์ด้วยวิธีการนั้น
mcont

2
แต่ใน windows 7 ดูเหมือนว่า DIR / x จะไม่เปลี่ยนการแสดงผลใด ๆ เลยที่นี่ ... :(
gumuruh

3
ระบบไฟล์ NTFS บางระบบไม่มีการเทียบเท่า 8.3 ดังนั้นสิ่งนี้จะไม่ทำงานอีกต่อไป
Ross Presser

Del / S จาก CMD ทำงานให้ฉันแม้จะมีชื่อใหญ่ในวันที่ 8
เจฟฟ์

4

Googled: ลบชื่อไฟล์ยาว ผลลัพธ์แรก

ใช้ Unlocker http://www.filehippo.com/download_unlocker/

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

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


1
ฉันเห็นว่า แต่ไม่ทราบว่าผู้ปลดบล็อกปลอดภัยที่จะใช้หรือไม่ดังนั้นฉันจึงเพิกเฉยฉันจะลองดู แก้ไข: ไม่ทำงาน มันใช้งานได้กับไฟล์อื่น ๆ แต่ตัวบล็อกไม่ปรากฏในดรอปดาวน์
Chris

แน่นอนวิธีที่ง่ายที่สุดในการทำแม้ว่ามันอาจต้องรีบูตให้เสร็จสมบูรณ์ ไม่มีอะไรผิดปกติกับ Unlocker เลย - ใช้งานมานานหลายปีแล้วและเป็นประโยชน์อย่างมาก ในกรณีของไฟล์หรือโฟลเดอร์ที่มีเส้นทางยาวเกินไปจะไม่พบหมายเลขอ้างอิงการล็อค แต่ควรเสนอตัวเลือกลบในเมนูแบบเลื่อนลงหลังจากนั้น
Steve Pettifer

1
ทำงานไร้ที่ติ - สิ่งที่ตลกคือฉันมีซอฟต์แวร์นี้ติดตั้งอยู่ แต่ไม่ได้เกิดขึ้นกับฉันที่จะใช้ในสถานการณ์นี้
Daniel Sokolowski

ไม่ทำงานสำหรับโฟลเดอร์อื่นที่ฉันคัดลอกโฟลเดอร์ทางแยกแบบวงกลม แต่สิ่งที่ทำงานได้เปลี่ยนชื่อโฟลเดอร์แต่ละระดับเป็นอักขระหนึ่งตัวเหมือน1ทุกวิธีแล้วลบออก
Daniel Sokolowski

นี่เป็นคำตอบเดียวที่เหมาะกับฉัน (ฉันใช้ windows 10) ขอบคุณมาก!
user26832

4

Microsoft มีบทความฐานความรู้ที่เป็นประโยชน์เกี่ยวกับการลบไฟล์ที่ไม่สามารถลบได้ สาเหตุที่ # 4 มีความเกี่ยวข้องกับคุณ

ทางออกที่ดีที่สุดของคุณอาจเป็นการแมปไดรฟ์ไปยังโฟลเดอร์ที่ไฟล์นั้นอยู่ (ความละเอียด # 3) จากนั้นป้อนเข้าไปในไดรฟ์นั้นแล้วลบออก


1
ฉันไม่เคยรู้มาก่อนเลยว่าจะสามารถ "แมปไดรฟ์เครือข่าย" ไปยังตำแหน่งบนฮาร์ดไดรฟ์ของฉันเอง นั่นคือสิ่งที่ฉันทำใน Windows Explorer หลังจากไปที่ไดรฟ์ฉันสามารถลบโฟลเดอร์และเนื้อหาได้อย่างง่ายดาย หลักการเดียวกับโซลูชันคอนโซลที่แสดงด้านบน แต่นี่เป็นโซลูชัน GUI ด่วนที่ง่ายสำหรับฉัน
RandomHandle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.