Chỉ cần đề cập đến một mẹo tôi chưa thấy đề cập ở đây.
Lấy tập tin này làm ví dụ:
C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
Đường dẫn tập tin đầy đủ này dài 290 ký tự. Shell (Windows Explorer) và hầu hết các tiện ích dòng lệnh có thể sẽ không cho phép bạn chạm vào nó.
Sử dụng subst
lệnh như vậy:
subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"
Bây giờ bạn có thể truy cập (và xóa, di chuyển, v.v.) tệp như vậy:
X:\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
Và bây giờ tên tệp chỉ có ~ 235 ký tự hoặc hơn, do đó bạn sẽ không gặp phải vấn đề "Tên tệp quá dài" nữa.
Trong API Windows, có một hằng số khét tiếng được gọi là MAX_PATH
. MAX_PATH là 260 ký tự. Hệ thống tệp NTFS thực sự hỗ trợ đường dẫn tệp lên tới 32.767 ký tự. Và bạn vẫn có thể sử dụng tên đường dẫn dài 32.767 ký tự bằng cách truy cập các phiên bản Unicode (hoặc "rộng") của các hàm Windows API và cũng bằng cách thêm tiền tố vào đường dẫn \\?\
.
MAX_PATH
đã được thiết lập từ rất lâu trước đây trong thế giới Windows. Tôi nghĩ rằng nó có liên quan đến các tiêu chuẩn ANSI vào thời điểm đó ... nhưng đó là một trong những điều rất khó để Microsoft thay đổi, vì hiện tại chúng tôi có hàng ngàn chương trình và ứng dụng, bao gồm cả một số được viết bởi chính Microsoft, sử dụng MAX_PATH
và sẽ thất bại theo những cách mới lạ nếu hằng số đột ngột thay đổi. (Bộ đệm tràn, tham nhũng đống, v.v.)