ความยาวชื่อไฟล์ Windows 7 จำกัด ที่ 129 ตัวอักษร


17

ฉันกำลังพยายามตั้งชื่อ MP3 อย่างถูกต้องและมีความยาวถึง 129 อักขระ (ไม่ใช่ 128?) NTFS รองรับ 255 ตัวอักษรในชื่อไฟล์ฉันจะแก้ไขได้อย่างไร

Star Wars - 6 - Return of the Jedi - 2 - 07 - Battle of Endor 2, Leia   ได้รับบาดเจ็บ, การดวลเริ่มต้น, บังเกอร์บังเหียน, ความมืดศรี. mp3


2
เป็นการดีที่ไม่ควรใช้ชื่อไฟล์ที่ยาวมากเพราะอาจทำให้เกิดปัญหาได้ MP3 สามารถมีข้อมูลเมตาที่ฝังตัวในรูปแบบของแท็ก ID3 สำหรับสิ่งนี้และ / หรือใช้ไดเรกทอรี
JamesRyan

3
ฉันเปิดไฟล์และเพลย์ลิสต์; ฉันไม่ได้ใช้ "ไลบรารีสื่อ" คอลเลกชันของฉันตั้งชื่ออย่างถูกต้องฉันไม่มีไฟล์ "1.mp3" และไม่สามารถทำให้คนขี้เกียจเกินไปที่จะตั้งชื่อไฟล์อย่างถูกต้อง ซึ่ง "1.mp3" เมื่อทุกอัลบั้มมีเพลงอย่างน้อยหนึ่งแทร็ก ಠ_ಠ
John

คำตอบ:


13

เป็นไปได้ว่าคุณมีความยาวเกิน 260 อักขระสำหรับชื่อพา ธ ทั้งหมดรวมถึงอักขระเครื่องหมายทับขวา

มีอักขระกี่ตัวในเส้นทางรวมถึงชื่อไฟล์ mp3


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

5
ค่าคงที่ MAX_PATH ถูกกำหนดเป็น 260 ไม่ใช่ 256
phuclv

ถึงแม้ว่าโฟลเดอร์จะมีได้สูงสุด "247 ถ่าน + <null> ". ดู stackoverflow.com/a/15971467/632951
Pacerier

35

ใน Windows ความยาวพา ธ เริ่มต้นทั้งหมดต้องไม่เกิน 260 ตัวอักษร ( drive + :\ + 255 characters of filename + null terminator + น่าจะเป็นครั้งสุดท้าย \ ในกรณีที่เส้นทางเป็นไดเรกทอรีหรือเพียงสำหรับการปัดเศษ) มันเป็นของที่ระลึกจากยุค 8.3 ชื่อของดอสที่มีเส้นทาง 260 ตัวอักษรเป็นเส้นทางที่ลึกจริงๆ

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

  • ใช้ ชื่อไฟล์แบบเต็ม กับ \\?\ คำนำหน้าด้วยวิธีนี้คุณสามารถใช้อักขระสูงสุด 32767 ตัวในเส้นทาง
  • เปลี่ยนชื่อโฟลเดอร์ในเส้นทางเพื่อทำให้สั้นลง
  • ติดตั้งโฟลเดอร์ที่มีไฟล์ เป็นตัวละครไดรฟ์ด้วย subst / mountvol / diskmgmt.msc . วิธีนี้คุณสามารถใช้อักขระสูงสุด 255 ตัวสำหรับชื่อไฟล์ของคุณ
  • สร้าง ทางแยก / ลิงก์สัญลักษณ์ ไปยังโฟลเดอร์ที่ตื้นกว่าบนเส้นทาง คุณไม่สามารถสร้างลิงก์ไปยังตัวอักษรของไดรฟ์ดังนั้นคุณจะไม่สามารถใช้ชื่อไฟล์ได้ตราบใดที่คุณใช้วิธีการเมานท์

ตั้งแต่ Windows 10 มีตัวเลือกอื่นด้วย ลบข้อ จำกัด MAX_PATH § . คุณสามารถเปิดใช้งานได้โดยการตั้งค่า HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled ในรีจิสทรีหรือตั้งค่า การกำหนดค่าคอมพิวเตอร์ & gt; เทมเพลตการดูแลระบบ & gt; ระบบ & gt; ระบบไฟล์ & gt; เปิดใช้งานพา ธ แบบยาวของ NTFS ในนโยบายกลุ่ม


อ่านเพิ่มเติม:

เส้นทางสูงสุด 32,767 ตัวอักษรเป็นค่าประมาณเนื่องจาก \\?\ คำนำหน้าอาจถูกขยายเป็นสตริงที่ยาวขึ้นโดยระบบในขณะใช้งานและการขยายนี้ใช้กับความยาวทั้งหมด

§ เริ่มใน Windows 10 รุ่น 1607 MAX_PATH ข้อ จำกัด ได้ถูกลบออกจากไฟล์ Win32 ทั่วไปและฟังก์ชั่นไดเรกทอรี อย่างไรก็ตามคุณต้องเลือกใช้พฤติกรรมใหม่


ขอบคุณ David โพสต์ครั้งแรกและใช้งานได้ แต่คุณรวมทรัพยากรดังนั้น +1
John

1
วิธีแก้ปัญหาที่คล้ายกันคือการใช้ทางแยก เช็คเอาท์ schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Urhixidur

1
ฉันควรใช้คำตอบนี้เช่นกัน ด้วยวิธีนี้คุณสามารถเก็บไฟล์ไว้ในตำแหน่งที่คุณต้องการและยังสามารถตั้งชื่อไฟล์ตามที่คุณต้องการ นอกจากนี้เมื่อคุณคัดลอกไปยังอุปกรณ์ของคุณเป็นไปได้มากที่สุดที่จะไม่สนใจข้อ จำกัด ของ Windows ที่โง่เง่าเนื่องจากมีลำดับชั้นไฟล์ที่ค่อนข้างแบนและอาจไม่ใช้ชื่อไฟล์โดยตรง (เช่น iPhone / iPad / iEtc ใช้ hex อักขระสำหรับชื่อไฟล์และการอ้างอิงข้ามไฟล์ดัชนี)
phyrfox

จำนวนอักขระสูงสุดสำหรับชื่อไฟล์คือ 255 อักขระไม่ใช่ 256
Edd

@Edd 255 ตัวอักษร + การยกเลิก null
phuclv

0

Windows 7 จะช่วยให้คุณสามารถบันทึกชื่อไฟล์ที่ยาวกว่า 256 ตัวอักษรรวมถึงชื่อพา ธ และสามารถเข้าถึงได้ง่ายเช่นกัน ปัญหาเล็ก ๆ ที่คุณอาจพบเจอคือเมื่อคุณคัดลอกจากที่หนึ่งไปอีกที่หนึ่ง แต่คุณจะพบกับป๊อปอัพที่ถามคุณว่าคุณต้องการเปลี่ยนชื่อไฟล์ไม่ใช่คัดลอกไฟล์หรือบันทึกตามที่เป็นอยู่ ฉันมักจะบันทึกตามที่เป็นอยู่และฉันไม่เคยมีปัญหาใด ๆ ฉันอาจมีชื่อไฟล์สองสามร้อยที่เกินขีด จำกัด


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