Nếu bạn đã từng gặp sự cố này, đây có thể là một cách khắc phục đơn giản cho bạn. Nếu bạn đã gặp lỗi này nhiều hơn hai lần thì bạn cũng biết rằng đôi khi nó có thể là một vấn đề phức tạp cần khắc phục.
Chúng ta hãy hy vọng bạn chỉ gặp phải nhiều loại sửa chữa dễ dàng, nhưng chúng tôi sẽ chuẩn bị cho bạn các bản sửa lỗi ít dễ dàng hơn, đảm bảo hiệu quả.
Tại sao độ dài tên tệp lại là vấn đề trong Windows?
Có một lịch sử lâu dài về độ dài tên tệp là một vấn đề đối với các hệ điều hành như Windows. Đã có lúc bạn không thể có tên tệp dài hơn 8 ký tự cộng với phần mở rộng tệp 3 ký tự. Điều tốt nhất bạn có thể làm là một cái gì đó như myresume.doc . Đây là một hạn chế do thiết kế của hệ thống tệp.
Mọi thứ trở nên tốt hơn khi các phiên bản Windows mới ra mắt. Chúng tôi đã đi từ một hệ thống tệp cũ, hạn chế, sang một thứ gọi là Hệ thống tệp công nghệ mới (NTFS). NTFS đã đưa chúng tôi đến một điểm mà tên tệp có thể dài 255 ký tự và độ dài đường dẫn tệp có khả năng lên đến 32.767 ký tự. Vì vậy, làm thế nào chúng ta có thể có tên tệp quá dài?
Windows có những thứ được gọi là biến hệ thống. Đây là những biến mà Windows dựa vào để hoạt động, bởi vì Windows sẽ luôn biết ý nghĩa của các biến và vị trí của chúng, ngay cả khi chúng ta đang di chuyển các bit và byte khắp nơi. Biến hệ thống MAX_PATH là một trong những giới hạn tên tệp và đường dẫn tệp dưới 260 ký tự.
Là một biến, bạn nghĩ chúng tôi có thể thay đổi nó. Không, chúng ta không nên. Nó sẽ giống như kéo một sợi chỉ ra khỏi áo len. Ngay sau khi một biến hệ thống thay đổi, các biến hệ thống khác và các thành phần phụ thuộc vào chúng sẽ bắt đầu làm sáng tỏ.
Vậy chúng ta sửa nó như thế nào?
Cách khắc phục dễ dàng
Nếu may mắn, bạn sẽ nhận được lỗi và biết chính xác tên tệp nào đang gây ra sự cố. Hoặc ít nhất là nơi để tìm tệp. Có thể bạn có một tên tệp giống như sau:
C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
Rõ ràng ai là người vi phạm trong trường hợp này. Tìm tệp trong Windows Explorer hoặc File Explorer như nó được gọi trong Windows 10, hãy nhấp một lần vào nó, nhấn F2 để đổi tên nó và thay đổi tên tệp ngớ ngẩn đó thành một cái gì đó hợp lý hơn. Vấn đề đã được giải quyết.
Các bản sửa lỗi ít dễ dàng hơn
Không phải lúc nào cũng dễ dàng khắc phục sự cố này. Đôi khi bạn không thể thay đổi tên của các tệp hoặc thư mục vì bất kỳ lý do gì.
Các giải pháp sau đây sẽ giúp bạn. Chúng không khó làm.
Di chuyển, xóa hoặc sao chép tệp hoặc thư mục bằng PowerShell
Đôi khi bạn gặp lỗi khi cố gắng di chuyển, xóa hoặc sao chép các thư mục trong đó số ký tự cho đường dẫn tệp nhiều hơn 260.
Lưu ý rằng thư mục từ và thư mục có thể hoán đổi cho nhau. Từ nay về sau, chúng tôi sẽ sử dụng ‘thư mục’. Các lệnh ghép ngắn PowerShell sau đây cũng có thể được sử dụng trên các tệp.
Có lẽ đường dẫn tệp trông giống như sau:
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
Đường dẫn tệp đó dài 280 ký tự. Vì vậy, chúng tôi không thể sao chép thư mục từ đó sang một nơi khác bằng phương pháp sao chép-dán thông thường. Chúng tôi nhận được Đường dẫn đến quá dài lỗi.
Giả sử rằng vì bất kỳ lý do gì, chúng tôi không thể đổi tên các thư mục chứa tệp được lồng vào nhau. Chúng tôi phải làm gì?
Mở PowerShell. Nếu bạn chưa sử dụng PowerShell, hãy thưởng thức bài viết Sử dụng PowerShell cho người dùng gia đình - Hướng dẫn cho người mới bắt đầu của chúng tôi. Tuy nhiên, bạn có thể thực hiện các bước tiếp theo mà không cần đọc bài viết.
Khi PowerShell mở ra, bạn sẽ ở thư mục gốc của thư mục người dùng của mình. Làm theo giả sử C:\ Users \ guymc là thư mục người dùng của bạn.
Thư mục có tên This nằm bên trong Tài liệu danh mục. Để chuyển vào thư mục Documents, chúng tôi sử dụng lệnh DOS cd Documents .
Bạn sẽ thấy thay đổi nhanh chóng đối với C:\ Users \ guymc \ Documents . Tốt đấy. Chúng tôi đang làm việc gần hơn với các thư mục để giúp mọi thứ dễ dàng hơn.
Sao chép thư mục bằng Copy-Item
Chúng tôi muốn sao chép thư mục Cái này và nội dung của nó vào ThatNewFolder . Hãy sử dụng lệnh ghép ngắn PowerShell Copy-Item với các tham số -Điểm đến và -Recurse .
-Destination cho PowerShell biết nơi chúng ta muốn bản sao. -Recurse yêu cầu PowerShell sao chép tất cả các mục bên trong đến đích. Việc sao chép sẽ giữ nguyên vị trí của các bản gốc và tạo tất cả các bản gốc mới ở đích.
Copy-Item This -Destination ThatNewFolder -Recurse
Di chuyển thư mục bằng Move-Item
Giả sử chúng tôi muốn di chuyển thư mục This cũng như tất cả các thư mục và tệp trong đó sang ThatNewFolder . Di chuyển không để nguyên tại chỗ.
Chúng tôi có thể sử dụng lệnh ghép ngắn PowerShell Move-Item với các tham số -Path và -Điểm đến . -Path xác định mục chúng ta muốn di chuyển và -Destination cho PowerShell biết nơi chúng ta muốn nó.
Lệnh ghép ngắn sẽ đặt This bên trong ThatNewFolder. Nó cũng sẽ di chuyển mọi thứ bên trong thư mục This. Move-Item có thể được sử dụng để di chuyển tệp hoặc thư mục và nó hoạt động bất kể đường dẫn tệp hoặc độ dài tên tệp.
Move-Item -Path This -Destination ThatNewFolder
Để đảm bảo nó hoạt động, hãy sử dụng cd ThatNewFolder lệnh để truy cập ThatNewFolder . Sau đó, sử dụng dir lệnh liệt kê các thư mục trong ThatNewFolder. Bạn sẽ thấy Thư mục này ở trong đó.
Xóa thư mục bằng cách sử dụng loại bỏ mục
Nếu chúng tôi muốn xóa Điều này và mọi thứ trong đó, chúng tôi sử dụng Xóa mục cmdlet.
Lệnh ghép ngắn Remove-Item có một số tính năng an toàn được tích hợp sẵn khiến việc xóa một thư mục có những thứ bên trong nó trở nên khó khăn. Trong ví dụ của chúng tôi, chúng tôi biết chúng tôi muốn xóa mọi thứ, vì vậy chúng tôi sẽ sử dụng các tham số -Recurse để làm cho nó xóa mọi thứ bên trong và -Force để làm điều đó mà không cần hỏi chúng tôi xem chúng tôi có chắc chắn về mọi mặt hàng bên trong hay không.
Hãy cảnh báo! Việc khôi phục bất cứ thứ gì đã xóa theo cách này sẽ cực kỳ khó khăn. Bạn có thể thử các phương pháp trong Cách khôi phục các tệp bị xóa do vô tình, nhưng không mong đợi nhiều.
Xóa mục này -Recurse -Force
Bạn có thể sử dụng lại lệnh dir để đảm bảo rằng nó đã biến mất.
Đặt Windows 10 chấp nhận đường dẫn tệp dài
Nếu bạn biết mình sẽ sử dụng nhiều lần các đường dẫn tệp dài và tên tệp dài, thì việc làm cho Windows hoạt động cho bạn sẽ dễ dàng hơn. Không có ý nghĩa gì khi sử dụng PowerShell để thực hiện công việc hàng ngày.
Có hai cách để chúng ta có thể làm điều này. Một dành cho người dùng Windows 10 Home và một dành cho người dùng Windows 10 Pro hoặc Enterprise. Các phương pháp này có thể hoạt động đối với Windows 8.1 hoặc phiên bản cũ hơn, nhưng chúng tôi không thể đảm bảo điều đó.
Đặt Windows 10 Home chấp nhận đường dẫn tệp dài
Để làm cho Windows 10 Home chấp nhận các đường dẫn tệp dài, chúng tôi cần mở Trình chỉnh sửa sổ đăng ký . Nếu bạn chưa từng làm việc trong Registry Editor trước đây, hãy thận trọng. Việc vô tình xóa hoặc thay đổi những thứ trong đây có thể khiến Windows ngừng hoạt động hoàn toàn.
Luôn tạo bản sao lưu sổ đăng ký của bạn trước khi thực hiện bất kỳ thay đổi nào. Tìm hiểu mọi thứ bạn cần biết về điều đó trong Hướng dẫn cơ bản để sao lưu và khôi phục Windows Registry.
Sau khi bạn đã mở Registry Editor và sao lưu của bạn được tạo, hãy điều hướng đến vị trí HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem và tìm khóa LongPathsEnabled .
Nhấp đúp vào LongPathsEnabled . Trong Dữ liệu giá trị: trường, đảm bảo số 1 là trong đó. Nhấp vào OK để cam kết thay đổi.
Thoát khỏi Registry Editor và bạn sẽ có thể làm việc với các đường dẫn tệp dài điên cuồng.
Làm cho Windows 10 Pro hoặc Doanh nghiệp chấp nhận các đường dẫn tệp dài
Để cho phép Windows 10 Pro hoặc Enterprise sử dụng đường dẫn tệp dài, chúng tôi sẽ sử dụng Trình chỉnh sửa chính sách nhóm . Đây là một công cụ cho phép chúng tôi thiết lập các chính sách về cách Windows hoạt động ở máy tính và cấp người dùng.
Chúng tôi đã có một số bài viết về việc sử dụng chính sách nhóm để thực hiện những việc như tắt hoặc bật tùy chọn Internet Explorer hoặc thêm thông báo vào màn hình đăng nhập.
Mở Trình chỉnh sửa chính sách nhóm bằng cách đi tới Bắt đầu trình đơn và nhập vào gpedit . Kết quả hàng đầu phải là Chỉnh sửa chính sách nhóm . Nhấp đúp vào đó.
Khi Trình chỉnh sửa chính sách nhóm mở ra, hãy điều hướng đến Cấu hình máy tính> Mẫu quản trị> Hệ thống> Hệ thống tệp . Ở đó bạn sẽ thấy chính sách Bật đường dẫn dài Win32 .
Nhấp đúp vào nó để chỉnh sửa cài đặt chính sách. Thay đổi nó từ Đã tắt thành Đã bật , sau đó nhấp vào nút OK nút để cam kết thay đổi.
Chính sách có thể không có hiệu lực ngay lập tức. Tuy nhiên, bạn có thể buộc cập nhật chính sách nhóm.
Thế là xong
Có một số cách khác để giải quyết các tên tệp dài và đường dẫn tệp, nhưng những gì chúng tôi đã trình bày ở đây là các phương pháp đơn giản, hiệu quả nhất.