วิธีแก้ไขปัญหา 'ชื่อไฟล์ยาวเกินไป' ใน Windows
หากคุณเคยเห็นปัญหานี้ อาจเป็นวิธีแก้ปัญหาง่ายๆ สำหรับคุณ หากคุณเห็นข้อผิดพลาดนี้มากกว่าสองครั้ง แสดงว่าคุณทราบด้วยว่าบางครั้งอาจเป็นปัญหาที่ซับซ้อนที่ต้องแก้ไข
หวังว่าคุณจะพบกับการแก้ไขที่หลากหลายอย่างง่าย แต่เราจะเตรียมคุณให้พร้อมสำหรับการแก้ไขที่ง่ายน้อยกว่าและรับประกันว่าจะได้ผลเช่นกัน
เหตุใดความยาวของชื่อไฟล์ถึงเป็นปัญหาใน Windows(Why Is Filename Length Even An Issue In Windows?)
มีประวัติอันยาวนานเกี่ยวกับความยาวของชื่อไฟล์ที่เป็นปัญหาสำหรับระบบปฏิบัติการเช่นWindows มีบางครั้งที่คุณไม่สามารถมีชื่อไฟล์ที่ยาวเกิน 8 อักขระและนามสกุลไฟล์ 3 อักขระได้ สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือmyresume.doc นี่เป็นข้อจำกัดในการออกแบบระบบไฟล์
สิ่งต่างๆ ดีขึ้นเมื่อWindows เวอร์ชันใหม่ ออกมา เราเปลี่ยนจากระบบไฟล์เก่าแบบจำกัดไปสู่สิ่งที่เรียกว่าNew Technology File System ( NTFS ) NTFSพาเราไปยังจุดที่ชื่อไฟล์มีความยาวได้ 255 อักขระ และความยาวเส้นทางของไฟล์อาจยาวได้ถึง 32,767 อักขระ แล้วเราจะมีชื่อไฟล์ที่ยาวเกินไปได้อย่างไร?
Windowsมีสิ่งที่เรียกว่าตัวแปรระบบ ตัวแปรเหล่านี้เป็นตัวแปรที่Windowsใช้ในการทำงาน เนื่องจากWindowsจะรู้ว่าตัวแปรเหล่านี้หมายถึงอะไรและอยู่ที่ใด แม้ว่าเราจะย้ายบิตและไบต์ไปทั่ว ตัวแปรระบบMAX_PATHคือตัวแปรที่จำกัดชื่อไฟล์และพาธไฟล์ให้ไม่เกิน 260 อักขระ
เป็นตัวแปร คุณคิดว่าเราสามารถเปลี่ยนแปลงได้ ไม่ เราไม่ควร ก็เหมือนการดึงด้ายออกจากเสื้อสเวตเตอร์ ทันทีที่ตัวแปรระบบหนึ่งเปลี่ยนแปลง ตัวแปรระบบและส่วนประกอบอื่นๆ ที่ขึ้นอยู่กับตัวแปรเหล่านั้นจะเริ่มคลี่คลาย
แล้วเราจะแก้ไขอย่างไร?
The Easy Fix
หากคุณโชคดี คุณจะได้รับข้อผิดพลาดและรู้ว่าชื่อไฟล์ใดเป็นสาเหตุของปัญหา หรืออย่างน้อยจะหาไฟล์ได้ที่ไหน บางทีคุณอาจมีชื่อไฟล์ที่มีลักษณะดังนี้:
C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
เห็นได้ชัดว่าใครเป็นผู้กระทำความผิดในกรณีนี้ ค้นหาไฟล์ในWindows ExplorerหรือFile Explorerตามชื่อในWindows 10คลิกหนึ่งครั้งที่ไฟล์นั้น กดF2เพื่อเปลี่ยนชื่อ และเปลี่ยนชื่อไฟล์ที่ไร้สาระเป็นชื่อที่สมเหตุสมผลกว่า แก้ไขปัญหา แล้ว(Problem)
การแก้ไขที่ไม่ค่อยง่าย(The Less Easy Fixes)
มันไม่ง่ายเสมอไปที่จะแก้ไขปัญหานี้ บางครั้งคุณอาจไม่สามารถเปลี่ยนชื่อไฟล์หรือไดเร็กทอรีได้ไม่ว่าจะด้วยเหตุผลใดก็ตาม
วิธีแก้ปัญหาต่อไปนี้จะช่วยคุณได้ พวกเขาไม่ยากที่จะทำ
ย้าย(Move)ลบ(Delete)หรือคัดลอกไฟล์หรือไดเรกทอรีโดยใช้ PowerShell(Or Copy Files Or Directories Using PowerShell)
บางครั้ง คุณอาจได้รับข้อผิดพลาดเมื่อพยายามย้าย ลบ หรือคัดลอกไดเรกทอรีที่มีจำนวนอักขระสำหรับเส้นทางไฟล์มากกว่า 260
โปรดทราบว่าไดเร็กทอรี word และโฟลเดอร์สามารถใช้แทนกันได้ เราจะใช้ 'ไดเรกทอรี' ต่อไป PowerShell cmdlet ต่อไปนี้สามารถใช้กับไฟล์ได้
บางทีเส้นทางของไฟล์อาจดูเหมือน:
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 อักขระ ดังนั้นเราจึงไม่สามารถคัดลอกไดเร็กทอรีจากที่นั่นไปยังที่อื่นด้วยวิธีคัดลอกและวางปกติ เราได้รับข้อผิดพลาดเส้นทางปลายทางยาวเกินไป(Destination Path Too Long)
สมมติว่าด้วยเหตุผลใดก็ตาม เราไม่สามารถเปลี่ยนชื่อไดเร็กทอรีที่ไฟล์ซ้อนอยู่ พวกเราทำอะไร?
(Open PowerShell)เปิดPowerShell หากคุณยังไม่ได้ใช้PowerShellโปรดอ่านบทความเรื่องการใช้ PowerShell สำหรับผู้ใช้ตามบ้าน – คู่มือสำหรับผู้เริ่มต้นใช้(Using PowerShell for Home Users – A Beginner’s Guide)งาน คุณสามารถทำขั้นตอนต่อไปได้โดยไม่ต้องอ่านบทความ
เมื่อPowerShellเปิดขึ้นมา คุณจะอยู่ที่รูทของไดเร็กทอรีผู้ใช้ของคุณ ปฏิบัติตาม(Follow)โดยสมมติว่าC:\Users\guymc เป็นไดเร็กทอรีผู้ใช้ของคุณ
ไดเร็กทอรีชื่อThisอยู่ภายในไดเร็กทอรีDocuments ในการย้ายไปยังไดเร็กทอรีDocumentsเรา ใช้ คำสั่งDOS cd Documents
คุณจะเห็นข้อความแจ้งเปลี่ยนเป็นC C:\Users\guymc\Documentsดีแล้ว. เรากำลังดำเนินการอย่างใกล้ชิดกับไดเร็กทอรีซึ่งจะทำให้สิ่งต่างๆ ง่ายขึ้น
คัดลอกไดเรกทอรีโดยใช้ Copy-Item
เราต้องการคัดลอกไดเร็กทอรีThisและเนื้อหาลงในThatNewFolder ลองใช้ PowerShell cmdlet Copy-Itemกับพารามิเตอร์-Destinationและ-Recurse
-Destination บอกPowerShellว่าเราต้องการให้สำเนาอยู่ที่ไหน -Recurse บอกให้PowerShellคัดลอกรายการทั้งหมดภายในไปยังปลายทาง การคัดลอกจะปล่อยต้นฉบับไว้ที่เดิม และสร้างใหม่ทั้งหมดในปลายทาง
Copy-Item This -Destination ThatNewFolder -Recurse
ย้ายไดเรกทอรีโดยใช้ Move-Item
สมมติว่าเราต้องการย้ายไดเร็กทอรี This และไดเร็กทอรีและไฟล์ทั้งหมดในนั้นไปยังThatNewFolder การย้ายไม่ทิ้งต้นฉบับไว้
เราสามารถใช้ PowerShell cmdlet Move-Itemกับพารามิเตอร์-Pathและ-Destination -Path กำหนดรายการที่เราต้องการย้ายและ-DestinationบอกPowerShellว่าเราต้องการไปที่ใด
cmdlet จะใส่ This ไว้ในThatNewFolder นอกจากนี้ยังจะย้ายทุกอย่างที่อยู่ในไดเร็กทอรีนี้ Move-Item สามารถใช้เพื่อย้ายไฟล์หรือไดเร็กทอรี และใช้งานได้โดยไม่คำนึงถึงเส้นทางของไฟล์หรือความยาวของชื่อไฟล์
Move-Item -Path This -Destination ThatNewFolder
เพื่อให้แน่ใจว่าใช้งานได้ ให้ใช้ คำสั่ง cd ThatNewFolderเพื่อเข้าสู่ThatNewFolder จากนั้นใช้ คำสั่ง dirเพื่อแสดงรายการไดเรกทอรีในThatNewFolder คุณจะเห็นไดเร็กทอรีนี้อยู่ในนั้น
ลบไดเรกทอรีโดยใช้ Remove-Item
หากเราต้องการลบ ไดเร็กทอรี นี้(This )และทุกอย่างในนั้น เราใช้Remove-Item cmdlet
Remove-Item cmdlet มี ความปลอดภัยในตัวที่ทำให้การลบไดเร็กทอรีที่มีสิ่งต่าง ๆ อยู่ภายในนั้นทำได้ยาก ในตัวอย่างของเรา เรารู้ว่าเราต้องการลบทุกอย่าง ดังนั้นเราจะใช้พารามิเตอร์-Recurseเพื่อทำให้มันลบทุกอย่างที่อยู่ภายใน และ-Forceเพื่อทำให้มันทำอย่างนั้นโดยไม่ถามเราว่าเราแน่ใจหรือไม่ว่าทุกรายการภายใน
เตือนไว้! การกู้คืนสิ่งที่ถูกลบด้วยวิธีนี้จะเป็นเรื่องยากมาก คุณสามารถลองใช้วิธีการต่างๆ ในวิธีการกู้คืนไฟล์ที่ถูกลบโดยไม่ได้ตั้งใจแต่อย่าคาดหวังมาก
Remove-Item This -Recurse -Force
คุณสามารถใช้คำสั่ง dir อีกครั้งเพื่อให้แน่ใจว่าหายไป
ทำให้ Windows 10 ยอมรับเส้นทางไฟล์ที่ยาว(Make Windows 10 Accept Long File Paths)
ถ้าคุณรู้ว่าคุณกำลังจะใช้พาธไฟล์แบบยาวและชื่อไฟล์แบบยาวซ้ำๆ จะทำให้Windowsทำงาน แทนคุณได้ง่ายขึ้น ไม่มีเหตุผลที่จะใช้PowerShellเพื่อทำงานทุกวัน
มีสองวิธีที่เราสามารถทำได้ หนึ่งสำหรับ ผู้ ใช้ Windows 10 (Windows 10) Homeและอีกอันสำหรับผู้ใช้Windows 10 ProหรือEnterprise วิธีการเหล่านี้อาจใช้ได้กับWindows 8.1หรือเก่ากว่า แต่เราไม่สามารถรับประกันได้
ทำให้(Make) Windows 10 Home ยอมรับเส้นทางไฟล์ที่ยาว(Home Accept Long File Paths)
เพื่อให้Windows 10 Home ยอมรับเส้นทางของไฟล์ที่ ยาวเราต้องเปิดRegistry Editor หากคุณไม่เคยทำงานในRegistry Editorมาก่อน โปรดใช้ความระมัดระวัง การลบหรือเปลี่ยนแปลงสิ่งต่าง ๆ โดยไม่ได้ตั้งใจอาจทำให้Windows ไม่ ทำงานอย่างสมบูรณ์
สำรองข้อมูลรีจิสทรีของคุณเสมอก่อนทำการเปลี่ยนแปลงใดๆ เรียนรู้ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับเรื่องนี้ในUltimate Guide to Backing Up and Restore the Windows( Ultimate Guide to Backing Up and Restoring the Windows Registry) Registry
เมื่อคุณเปิด Registry Editor และทำการสำรองข้อมูล แล้วให้ไปที่ตำแหน่งHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemและค้นหาคีย์LongPathsEnabled
ดับเบิลคลิกที่LongPathsEnabled ในฟิลด์Value data: ตรวจสอบให้แน่ใจว่าหมายเลข (Value data:)1อยู่ในนั้น คลิกตกลง(OK)เพื่อยอมรับการเปลี่ยนแปลง
ออกจากRegistry Editorและคุณควรจะสามารถทำงานกับเส้นทางไฟล์ที่ยาวมากได้ในขณะนี้
ทำให้(Make) Windows 10 Pro หรือ Enterprise ยอมรับเส้นทางไฟล์ที่ยาว(Pro Or Enterprise Accept Long File Paths)
เพื่อให้Windows 10 ProหรือEnterprise ใช้เส้นทางไฟล์แบบยาว ได้เราจะใช้Group Policy Editor เป็นเครื่องมือที่ช่วยให้เราสามารถกำหนดนโยบายเกี่ยวกับการทำงานของ Windows ที่คอมพิวเตอร์และระดับผู้ใช้
เรามีบทความหลายบทความเกี่ยวกับการใช้นโยบายกลุ่มเพื่อทำสิ่งต่างๆ เช่นการปิดใช้งานหรือเปิดใช้งานตัวเลือก Internet Explorer( disabling or enabling Internet Explorer options)หรือการเพิ่มข้อความลงในหน้าจอการเข้าสู่( adding a message to the logon screen)ระบบ
เปิดตัวแก้ไขนโยบายกลุ่ม(Group Policy Editor)โดยไปที่ เมนู Startแล้วพิมพ์gpedit ผลลัพธ์ด้านบนควรแก้ไขนโยบาย(Edit group policy)กลุ่ม ดับเบิลคลิกที่นั้น
เมื่อตัวแก้ไขนโยบายกลุ่ม(Group Policy Editor) เปิด ขึ้นให้ไปที่Computer Configuration > Administrative Templates > System > Filesystemคุณจะเห็นนโยบาย Enable Win32 long paths(Enable Win32 long paths)
ดับเบิลคลิกเพื่อแก้ไขการตั้งค่านโยบาย เปลี่ยนจากDisabledเป็นEnabledจากนั้นคลิก ปุ่ม OKเพื่อยืนยันการเปลี่ยนแปลง
นโยบายอาจไม่มีผลบังคับใช้ทันที คุณสามารถบังคับให้นโยบายกลุ่มอัปเดต( force the group policy to update)ได้
แค่นั้นแหละ(That’s It)
มีวิธีอื่นในการแก้ไขชื่อไฟล์ที่ยาวและเส้นทางของไฟล์ แต่สิ่งที่เราได้ดำเนินการไปแล้วที่นี่คือวิธีที่ง่ายที่สุดและมีประสิทธิภาพมากที่สุด
Related posts
วิธีแก้ไข 'ทรัพยากรคอนโทรลเลอร์ USB ไม่เพียงพอ' บน Windows 10
วิธีแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงิน Stop:0x000000F4 ใน Windows
วิธีแก้ไขข้อผิดพลาดของ Windows Update
แก้ไข Windows Update Error Code 8E5E03FA
วิธีแก้ไข “ไม่สามารถบันทึกไฟล์ไลบรารีของ iTunes” ใน Windows 10
วิธีการ Fix PC Won't POST
Fix Overwatch FPS Drops Issue
6 วิธีในการเปิดใช้งาน Dark Mode ของ Google Chrome ใน Windows
แก้ไขเดสก์ท็อประยะไกลจะไม่ Connect ใน Windows 10
แก้ไข “Windows ไม่พบใบรับรองเพื่อเข้าสู่ระบบเครือข่าย”
Fix Universal Serial Bus (USB) Controller Driver Issue
Fix Chrome Blocking Download Issue
วิธีแก้ไข “ไม่สามารถรีเซ็ตพีซีของคุณได้ ไม่มีพาร์ติชั่นไดรฟ์ที่จำเป็น” ใน Windows
แก้ไขข้อผิดพลาด “Windows ไม่สามารถตรวจหาการตั้งค่าพร็อกซีของเครือข่ายนี้โดยอัตโนมัติ”
แก้ไข Windows Firewall ไม่สามารถเปลี่ยนการตั้งค่าบางอย่างได้ Error 0x80070424
วิธีแก้ไข Windows + Shift + S ไม่ทำงานบน Windows
แก้ไขปัญหาไดร์เวอร์ Multimedia Audio Controller
วิธีแก้ไข “ไม่สามารถเข้าถึงบริการ Windows Installer” Error
วิธีแก้ไขข้อผิดพลาด “แอปพลิเคชันไม่สามารถเริ่มทำงานได้อย่างถูกต้อง (0xc0000142)” ใน Windows
12 วิธีในการแก้ไข Steam จะไม่เปิดปัญหา