วิธีแก้ไข ‘ชื่อไฟล์ยาวเกินไป In ใน Windows


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

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

เหตุใดชื่อไฟล์ยาวถึงแม้จะเป็นปัญหาใน Windows

มีประวัติอันยาวนานของความยาวชื่อไฟล์ว่าเป็นปัญหาสำหรับระบบปฏิบัติการเช่น Windows มีเวลาที่คุณไม่สามารถมีชื่อไฟล์ที่ยาวเกินกว่า 8 ตัวอักษรรวมถึงนามสกุลไฟล์ 3 ตัว สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือ myresume.docนี่เป็นข้อ จำกัด ที่เกิดจากการออกแบบระบบไฟล์

ทุกอย่างดีขึ้นเมื่อ Windows รุ่นใหม่ออกมา เราเปลี่ยนจากระบบไฟล์เก่าที่มีข้อ จำกัด เป็นสิ่งที่เรียกว่าระบบไฟล์เทคโนโลยีใหม่ (NTFS) NTFS พาเราไปยังจุดที่ชื่อไฟล์ยาว 255 อักขระและความยาวพา ธ ของไฟล์อาจสูงถึง 32,767 ตัวอักษร แล้วเราจะมีชื่อไฟล์ที่ยาวเกินไปได้อย่างไร

<รูป class = "lazy aligncenter">

Windows มีสิ่งที่เรียกว่าตัวแปรระบบ สิ่งเหล่านี้เป็นตัวแปรที่ Windows ใช้เพื่อทำงานได้เนื่องจาก Windows จะรู้เสมอว่าตัวแปรนั้นหมายถึงอะไรและอยู่ที่ไหนแม้ว่าเราจะย้ายบิตและไบต์ไปทั่วทุกที่ ตัวแปรระบบ MAX_PATHเป็นตัวแปรที่ จำกัด ชื่อไฟล์และพา ธ ไฟล์ไม่เกิน 260 ตัวอักษร

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

In_content_1 ทั้งหมด: [300x250] / dfp: [640x360]->

เราจะแก้ไขได้อย่างไร

การแก้ไขอย่างง่าย

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

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

มันชัดเจนว่าใครเป็นผู้กระทำความผิดในกรณีนี้ ค้นหาไฟล์ใน Windows Explorerหรือ File Explorerตามที่เรียกใช้ใน Windows 10 คลิกหนึ่งครั้งกด F2เพื่อเปลี่ยนชื่อและ เปลี่ยนชื่อไฟล์ที่โง่ ๆ ให้เป็นอะไรที่สมเหตุสมผลกว่า แก้ไขปัญหาแล้ว

การแก้ไขปัญหาได้ง่ายน้อยลง

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

โซลูชันต่อไปนี้จะช่วยคุณได้ พวกเขาไม่ยากที่จะทำ

ย้ายลบหรือคัดลอกไฟล์หรือไดเรกทอรีโดยใช้ PowerShell

บางครั้งคุณได้รับข้อผิดพลาดเมื่อพยายามย้ายลบหรือคัดลอกไดเรกทอรีที่นับอักขระสำหรับเส้นทางไฟล์มากกว่า 260

โปรดสังเกตว่าไดเรกทอรีคำและโฟลเดอร์นั้นสามารถใช้แทนกันได้ เราจะใช้ "ไดเรกทอรี" ต่อไป cmdlet ของ PowerShell ต่อไปนี้สามารถใช้กับไฟล์ได้

บางทีพา ธ ของไฟล์จะมีลักษณะดังนี้:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

พา ธ ของไฟล์นั้นยาว 280 อักขระ ดังนั้นเราจึงไม่สามารถคัดลอกไดเรกทอรีออกไปที่อื่นด้วยวิธีการคัดลอกวางปกติ เราได้รับข้อผิดพลาด เส้นทางปลายทางยาวเกินไป

สมมติว่าด้วยเหตุผลใดก็ตามเราไม่สามารถเปลี่ยนชื่อไดเรกทอรีที่ไฟล์ซ้อนอยู่ เราจะทำอย่างไร

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

เมื่อ PowerShell เปิดขึ้นคุณจะอยู่ที่รูทของไดเรกทอรีผู้ใช้ของคุณ ทำตามสมมติว่า C: \ Users \ guymcเป็นไดเรกทอรีผู้ใช้ของคุณ

ไดเรกทอรีชื่อ นี่อยู่ใน เอกสาร ไดเรกทอรี หากต้องการย้ายไปยังไดเรกทอรีเอกสารเราใช้คำสั่ง DOS cd Documents

<รูป class = "lazy aligncenter">

คุณ ' จะเห็นการเปลี่ยนแปลงที่พร้อมท์เป็น C: \ Users \ guymc \ Documentsดีแล้ว. เรากำลังทำงานใกล้ชิดกับไดเรกทอรีซึ่งจะทำให้สิ่งต่าง ๆ ง่ายขึ้น

คัดลอกไดเรกทอรีโดยใช้รายการคัดลอก

เราต้องการคัดลอกไดเรกทอรี นี่และมัน เนื้อหาลงใน ThatNewFolderมาใช้ PowerShell cmdlet คัดลอกรายการกับพารามิเตอร์ -Destinationและ -Recurse

- การบอกปลายทางบอก PowerShell ว่าเราต้องการให้สำเนาใดอยู่ - การคืนเงินบอก PowerShell ให้คัดลอกรายการทั้งหมดภายในปลายทาง การคัดลอกจะปล่อยต้นฉบับไว้ที่เดิมและสร้างใหม่ทั้งหมดในปลายทาง

คัดลอกรายการสิ่งนี้ strong>

<รูป class = "lazy aligncenter">

ย้ายไดเรกทอรีโดยใช้รายการย้าย

สมมติว่าเราต้องการย้ายไดเรกทอรีนี่และไดเรกทอรีและไฟล์ทั้งหมดในนั้นไปยัง ThatNewFolderการเคลื่อนย้ายไม่ทิ้งต้นฉบับไว้

เราสามารถใช้ PowerShell cmdlet รายการย้ายกับพารามิเตอร์ -Pathและ -Destination-Path กำหนดรายการที่เราต้องการย้ายและ -Destination บอก PowerShell ที่เราต้องการ

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

ย้ายรายการ - จับนี้นี่ - ปลายทาง ThatNewFolder

<รูป class =" lazy aligncenter ">

เพื่อให้แน่ใจว่าใช้งานได้ให้ใช้ cd ThatNewFolderคำสั่งเพื่อเข้าสู่ ThatNewFolderจากนั้นใช้คำสั่ง dirเพื่อแสดงรายการไดเรกทอรีใน ThatNewFolder คุณจะเห็นไดเรกทอรีนี้อยู่ในนั้น

<รูป class = "lazy aligncenter">

ลบไดเรกทอรีโดยใช้รายการลบ

หากเราต้องการลบไดเรกทอรี นี่และทุกอย่างในนั้นเราจะใช้ ลบออก - รายการcmdlet

cmdlet ลบรายการมีความปลอดภัยในตัวที่ทำให้ยากต่อการลบไดเรกทอรีที่มีสิ่งต่าง ๆ อยู่ภายใน ในตัวอย่างของเราเรารู้ว่าเราต้องการลบทุกอย่างดังนั้นเราจะใช้พารามิเตอร์ - เรียกเก็บเงินเพื่อลบทุกอย่างภายในและ - บังคับใช้เพื่อให้ทำได้โดยไม่ต้อง ขอให้เราถ้าเราแน่ใจว่าสำหรับทุกรายการภายใน

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

ลบออก - รายการนี้ - รับเงินคืน - บังคับใช้

คุณสามารถใช้คำสั่ง dir อีกครั้งเพื่อให้แน่ใจว่ามันหายไป

ทำให้ Windows 10 ยอมรับเส้นทางยาวของไฟล์

หากคุณรู้ว่าคุณกำลังใช้พา ธ ไฟล์แบบยาวและชื่อไฟล์แบบยาวซ้ำ ๆ มันจะทำให้ Windows ทำงานให้คุณได้ง่ายขึ้น ไม่มีเหตุผลที่ใช้ PowerShell ในการทำงานทุกวัน

เราสามารถทำได้สองวิธี หนึ่งสำหรับผู้ใช้ Windows 10 บ้านและอื่น ๆ สำหรับผู้ใช้ Windows 10 Pro หรือองค์กร วิธีการเหล่านี้อาจใช้งานได้กับ Windows 8.1 หรือเก่ากว่า แต่เราไม่สามารถรับประกันได้

ทำให้ Windows 10 Home ยอมรับเส้นทางไฟล์ยาว ๆ

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

สำรองข้อมูลรีจิสทรีของคุณทุกครั้งก่อนทำการเปลี่ยนแปลงใด ๆ เรียนรู้ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับสิ่งนั้นใน  สุดยอดคู่มือในการสำรองและคืนค่า Windows Registry ของเรา

เมื่อคุณเปิด Registry Editor และทำการสำรองข้อมูลแล้วให้นำทางไปยังตำแหน่ง HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystemและค้นหาคีย์ LongPathsEnabled

<รูป class = "สันหลังยาว aligncenter ">

ดับเบิลคลิกที่ LongPathsEnabledในช่อง ข้อมูลค่า:ตรวจสอบให้แน่ใจว่ามีหมายเลข 1อยู่ในนั้น คลิก ตกลงเพื่อยอมรับการเปลี่ยนแปลง

ออกจากตัวแก้ไขรีจิสทรีและคุณควรจะสามารถทำงานกับเส้นทางไฟล์ยาวสุด ๆ ได้ในตอนนี้

ทำให้ Windows 10 Pro หรือ Enterprise ยอมรับเส้นทางไฟล์ยาว

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

เรามีหลายบทความเกี่ยวกับการใช้นโยบายกลุ่มเพื่อทำสิ่งต่าง ๆ เช่น  ปิดการใช้งานหรือเปิดใช้งานตัวเลือก Internet Explorer หรือ  การเพิ่มข้อความในหน้าจอเข้าสู่ระบบ

เปิดตัวแก้ไขนโยบายกลุ่มโดยไปที่เมนู เริ่มและพิมพ์ใน gpeditผลลัพธ์สูงสุดควรเป็น แก้ไขนโยบายกลุ่มคลิกสองครั้งที่นั้น

<รูป class = "lazy aligncenter">

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

ดับเบิลคลิกเพื่อแก้ไขการตั้งค่านโยบาย เปลี่ยนจาก ปิดการใช้งานเป็น เปิดใช้งานจากนั้นคลิกปุ่ม ตกลงเพื่อยืนยันการเปลี่ยนแปลง

<รูป class = "lazy aligncenter">

นโยบาย อาจไม่มีผลทันที อย่างไรก็ตามคุณสามารถ  บังคับให้นโยบายกลุ่มอัปเดต

นั่นคือมัน

มีวิธีอื่นในการหลีกเลี่ยงชื่อไฟล์และพา ธ ไฟล์ที่ยาว แต่สิ่งที่เราได้ผ่านมานี้เป็นวิธีการที่ง่ายและมีประสิทธิภาพที่สุด

วิธีแก้ปัญหาไม่สามารถลบไฟล์ชื่อยาวได้ บน Windows

กระทู้ที่เกี่ยวข้อง:


17.07.2019