Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

ข้อความข้อผิดพลาด "The file name(s) would be too long for the destination folder"

เมื่อเร็วๆ นี้ขณะค้นหาไฟล์และโฟลเดอร์สำรองบน PC Windows ของผม ผมพบไฟล์สำรองเก่าบางไฟล์ที่ต้องการลบ ไม่ได้ใช้ไฟล์สำรองเก่านั้นแล้ว จึงต้องการลบไฟล์ .tar ที่บีบอัดไว้

แต่เมื่อไปลบ ได้รับข้อความข้อผิดพลาดดังนี้:

The file name(s) would be too long for the destination folder

ข้อความข้อผิดพลาด  The file name(s) would be too long for the destination folder

จริงๆ แล้ว ไฟล์ที่บีบอัดมีไฟล์ภาพ JPG ซึ่ง Windows ไม่สามารถลบได้ ใช้ตัวเลือก Skip ลบไฟล์อื่นหมดเหลือแค่ไฟล์นี้ ตอนนี้ ทำไมถึงเกิดอย่างนี้?

ภายใต้ระบบการตั้งชื่อไฟล์มาตรฐานของ Windows ชื่อรวมหรือเส้นทาง (path) ไม่สามารถเกิน 259 ตัวอักษรได้ รวมถึงเส้นทางโฟลเดอร์ ชื่อไฟล์ และนามสกุลไฟล์ หากเกิน เมื่อพยายามลบ จะได้ข้อผิดพลาดนี้

ข้อจำกัดความยาวเส้นทางสูงสุด (Maximum Path Length Limitation): ใน Windows API (มีข้อยกเว้นบางอย่างที่อธิบายในย่อหน้าต่อไป) ความยาวสูงสุดสำหรับเส้นทางคือ MAX_PATH ซึ่งกำหนดเป็น 260 ตัวอักษร เส้นทางท้องถิ่น (local path) มีโครงสร้างตามลำดับ: ตัวอักษรไดรฟ์ คอลอน กลับสแลช องค์ประกอบชื่อคั่นด้วยกลับสแลช และตัวอักษร null ปิดท้าย ตัวอย่าง เส้นทางสูงสุดบนไดรฟ์ D คือ "D:\some 256-character path string" โดย "" แทนตัวอักษร null ปิดท้ายที่มองไม่เห็นสำหรับ codepage ปัจจุบัน (ตัวอักษร < > ใช้เพื่อความชัดเจนทางสายตาและไม่สามารถเป็นส่วนของเส้นทางที่ถูกต้องได้) ตาม MSDN

เกี่ยวข้อง: วิธีเปิดใช้งาน Win32 Long Paths ใน Windows

ชื่อไฟล์ยาวเกินไปสำหรับโฟลเดอร์ปลายทาง

ในกรณีของผม เส้นทางโฟลเดอร์เต็มคือ:

D:\ Site Backups\ Misc\ backup-4.7.2012_23-41-31_thegadget.tar\ backup-4.7.2012_23-41-31_thegadget\ backup-4.7.2012_23-41-31_thegadget\ homedirect\ 2\ public_html2\ wp-content2\ uploads\ 2011\ 08

และชื่อไฟล์ก็ยาวมาก เช่น Music-producer-…-and-video-games.jpg - ตามที่เห็นในภาพ

ผมเปิดตำแหน่งของมันและพยายาม ลบหรือ đổiชื่อ ไฟล์ ไม่ได้รับตัวเลือกทำอย่างนั้นเลย หากคุณ đổiชื่อได้ ถือว่าดี - แต่ผมไม่ได้รับตัวเลือกนั้น

ข้อความข้อผิดพลาด  The file name(s) would be too long for the destination folder ดังนั้นผมจึงกลับไปที่ซับโฟลเดอร์และพยายามลบมัน ไม่สำเร็จ ได้ข้อความข้อผิดพลาดเดิม

ข้อความข้อผิดพลาด  The file name(s) would be too long for the destination folder ผมจึงใช้ตัวเลือก Move To folder เพื่อย้ายโฟลเดอร์ไปที่ D Drive ของผม ใช้ได้! เส้นทางกลายสั้นลงทันที และผมลบได้

ทริกง่ายๆ นี้ใช้ได้ในกรณีของผม และขอหวังว่าจะช่วยคุณด้วย

บางครั้ง การรีบูท รัน Check Disk หรือใช้ฟรีแวร์ลบของบุคคลที่สาม ก็ช่วยลบไฟล์และโฟลเดอร์ที่ลบไม่ได้ได้

คุณยังสามารถใช้ฟรีแวร์ Long Path Fixer เพื่อแก้ไขข้อผิดพลาด Path Too Long ใน Windows

หากไม่มีอะไรช่วยได้ คุณอาจต้องดู Microsoft thread นี้ซึ่งแนะนำวิธีขั้นสูงใช้ CMD และ Robocopy

อ่านเพิ่มเติม: The source file name(s) are larger than is supported by the file system

ข้อความข้อผิดพลาด  The file name(s) would be too long for the destination folder