Windows 7 đã sửa lỗi giới hạn đường dẫn tệp 255 ký tự chưa?


92

Theo tôi hiểu, giới hạn 255 ký tự trong đường dẫn tệp là một hạn chế của Windows. Lý do cho điều này là gì? Nếu vậy, điều này đã được giải quyết trong Windows 7 chưa?

Trong thực tiễn tích hợp liên tục của chúng tôi, chúng tôi thường có cấu trúc dự án lồng nhau sâu sắc và sẽ cực kỳ hữu ích nếu có thể vượt quá 255 ký tự. Ngay bây giờ chúng tôi bị buộc phải cấu trúc các dự án của mình theo cách để không chạm vào trần nhân tạo này.


3
@DavidHeffernan Nhưng 260 đó bao gồm ký tự rỗng ở cuối và ký tự `C: \` ở đầu, vì vậy chỉ có 255 ký tự là có thể sử dụng được.
Aaron Dufour

2
@DavidHeffernan Tôi đã nhầm. Microsoft thường trích dẫn độ dài là 256, là giá trị bạn nhận được khi trừ đúng cách, thay vì 260, về mặt kỹ thuật là giới hạn.
Aaron Dufour

5
Vấn đề này làm tôi phẫn nộ. Nó vẫn hiện diện trong windows 8.1. Tôi dường như không thể di chuyển các tệp của mình về, mặc dù MỘT SỐ Tệp đã được tạo ngay từ đầu. Nếu bạn tìm thấy một số cách để tạo tệp với hơn 255 tên đường dẫn tệp, bạn hoàn toàn có thể làm hỏng máy windows của ai đó.
Automatico

Theo Jeremy Kuhne, vấn đề đang được giải quyết và có thể sớm có giải pháp. Xem video này. youtube.com/watch?v=ZppqEMegCAA
J Edward Ellis

Câu hỏi là về Windows 7, nhưng dù sao thì Windows 10 cũng có tùy chọn sáng để bật các đường dẫn dài cho một số ứng dụng. Để biết thêm chi tiết, hãy xem câu trả lời này: stackoverflow.com/questions/27680647/…
quasoft.

Câu trả lời:


44

Xem http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

Điều này giải thích rằng các phiên bản Unicode của API Windows có giới hạn cao hơn và cách kích hoạt điều đó.


14
Nhưng một lời cảnh báo: Có một loạt mã (chủ yếu là các tiện ích hệ thống của bên thứ 3 và những thứ tương tự) không hoạt động tốt với các đường dẫn dài hơn. Bạn có thể gặp vấn đề với điều đó nếu bạn bắt đầu sử dụng các đường dẫn dài hơn.
Phục hồiMonica Larry Osterman,

2
Bài báo này có đúng không? Tôi đã thực hiện một thử nghiệm đơn giản với cả Windows Explorer và Windows Command Prompt trong Windows 7 và tôi không thể tạo đường dẫn tệp có hơn 260 ký tự. Microsoft chưa cập nhật các ứng dụng này để sử dụng các phiên bản Unicode của API Windows?
Templar

7
Thật không may, Windows Explorer trên Windows 7 x64 vẫn bị giới hạn đường dẫn này. Điều này tạo ấn tượng rằng toàn bộ hệ điều hành vẫn chưa vượt qua được giới hạn này, trong khi thực sự nó chỉ là Windows Explorer chưa được cập nhật để hoạt động với các đường dẫn dài hơn. Có thể trình quản lý tệp của bên thứ 3 sử dụng các API mới nhất có thể giải quyết vấn đề này. Cuối cùng thì liệu một chương trình có đạt đến giới hạn đường dẫn hay không sẽ phụ thuộc vào việc chương trình đó có sử dụng các API mới nhất trên Windows hay không.
user1445967 28-07-13

2
Đây không phải là câu hỏi về các API "mới hơn" hay "cũ hơn". Bạn chỉ nhận được hỗ trợ đường dài nếu bạn yêu cầu rõ ràng và Explorer không làm như vậy, có lẽ vì lý do rõ ràng: khả năng tương thích với các ứng dụng bên thứ ba hiện có.
Harry Johnston

9
-1 - Liên kết đến một giải pháp tiềm năng luôn được hoan nghênh, nhưng vui lòng thêm ngữ cảnh xung quanh liên kết để những người dùng đồng nghiệp của bạn sẽ biết nó là gì và tại sao nó ở đó. Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp không thể truy cập trang web mục tiêu hoặc chuyển sang trạng thái ngoại tuyến vĩnh viễn. meta.stackoverflow.com/tags/link-only-answers/info
Aaron Hall

20

Bạn có thể vượt qua giới hạn đó bằng cách sử dụng subst nếu cần.



1
Hoặc robocopy được tích hợp sẵn trong Windows, dựa trên câu trả lời này, stackoverflow.com/questions/29865863/…
KAE

5
Bạn nên chứng minh cách thức và cung cấp liên kết đến tài liệu liên quan. -1
Aaron Hall

3
Trong khi tôi ủng hộ, tôi đồng ý rằng một ví dụ sẽ hữu ích: subst E: D:\TESTDATA\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1 Điều đó đã đưa tôi đi đến một con đường sâu 500 ký tự. Lý do cho ~ 1s là cách Explorer định dạng đường dẫn.
Adam Marcionek

1
Một giải pháp tương tự sẽ sử dụng nút giao thông , hoặc thông qua một phần mở rộng vỏ hoặc thông qua mklink Ví dụ:mklink /J C:\newdir C:\some\really\long\path\
Charles Grunwald

14

Các giải pháp thay thế không phải là giải pháp, do đó câu trả lời là "Không".

Vẫn đang tìm kiếm các giải pháp thay thế, đây là các giải pháp khả thi: http://support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters


1
Các phần tử cốt lõi của windows bao gồm powershell, windows explorer shell và các tiện ích cmd như del vẫn không thể xử lý đường dẫn vượt quá 250 ký tự và không có giải pháp nào khắc phục được thực tế là các công nghệ cốt lõi của Microsoft không xử lý đường dẫn dài, kể từ năm 2016. Câu trả lời ngắn gọn ở đây là cho đến khi Microsoft có được những bước ngoặt tập thể về thiết bị, chúng tôi chỉ có thể làm được rất ít điều.
Warren P


1

Từ Windows 10 phiên bản 1607, giới hạn đã được loại bỏ bằng cách đặt khóa đăng ký

https://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx?f=255&MSPPError=-2147217396#maxpath


2
nhưng không có trong windows 7?
gumuruh

Có vẻ không hợp lý khi thực sự phản đối điều này, bởi vì mặc dù nó không trả lời câu hỏi, nhưng nó có thể hữu ích cho nhiều người có câu hỏi tương tự.
mwfearnley

Tuy nhiên có những câu hỏi khác bao gồm Win10
MJS
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.