Thay thế cho Windows Explorer cho tên đường dẫn dài


24

Cập nhật:

  1. Tôi thấy rằng không chỉ Windows Explorer mà cả các phần mềm khác cũng bị các tên đường dẫn quá dài. Ví dụ: trong Firefox, khi tôi lưu một trang web vào một thư mục, tôi vẫn không thể làm điều đó nếu tên hoặc tên đường dẫn của nó quá dài. Firefox cũng dựa vào Windows Explorer? Làm thế nào tôi có thể giải quyết vấn đề đó quá?

  2. Tôi đã thử phần mềm được đề nghị trong hai trả lời. Không ai trong số họ có thể truy cập một con đường dài. Có phải vấn đề đường dẫn dài vốn có đối với HĐH Windows, bất kể chương trình nào cần duyệt thư mục? Nếu có, điều đó có nghĩa là không có cách nào để đi xung quanh nó?

Bản gốc: Tôi có hai hệ điều hành được cài đặt trên máy tính xách tay của mình: Windows 7 và Ubuntu 10.10. Họ chia sẻ một phân vùng.

Trong Ubuntu, bằng cách sử dụng Nautilus, tôi có thể tạo các thư mục nằm rất sâu trong hệ thống phân cấp đường dẫn trên phân vùng dùng chung. Nhưng khi chuyển sang Windows, Windows Explorer không cho phép truy cập các thư mục được đặt quá sâu, tức là có tên đường dẫn quá dài.

Ngoài ra, Windows Explorer dường như không thể truy cập các tệp và giám đốc được tạo trong Ubuntu với các ký tự đặc biệt trong tên thư mục và tệp.

Tôi đã tự hỏi những gì có thể giải quyết vấn đề trong Windows? Ví dụ, có phần mềm thay thế nào khác để thay thế Windows Explorer không?


1
Bạn đã sử dụng hệ thống tệp nào cho phân vùng dùng chung (FAT32, NTFS)?
James P

1
@James: ntfs ...
Tim

Tôi sẽ hỏi tại sao bạn cần chiều dài của con đường hoặc độ sâu này? giải quyết bất cứ điều gì dẫn đến việc bạn đạt đến giới hạn 259 có thể dễ dàng hơn việc khiến Windows hoạt động xung quanh nó.
cjb110

Câu trả lời:


30

Mặc dù NTFS cho phép các đường dẫn dài khoảng 32.000 ký tự, nhưng bạn đã tìm thấy giới hạn độ dài đường dẫn 259 ký tự của API Win32 .

Trong API Windows (với một số ngoại lệ được thảo luận trong [tài liệu được liên kết]), độ dài tối đa cho một đường dẫn là MAX_PATH, được xác định là 260 ký tự.

(Ngoài ra còn có một NULLký tự chấm dứt được gắn vào đường dẫn, cung cấp cho chúng tôi 259 ký tự có thể sử dụng.)

Vì Explorer (và hầu hết tất cả các ứng dụng Windows khác) dựa vào API Win32 để truy cập hệ thống tệp, nên việc khắc phục giới hạn này là không thực tế: mặc dù có thể :

API Windows có nhiều chức năng cũng có phiên bản Unicode để cho phép đường dẫn có độ dài mở rộng cho tổng chiều dài đường dẫn tối đa là 32.767 ký tự. Loại đường dẫn này bao gồm các thành phần được phân tách bằng dấu gạch chéo ngược, mỗi đường dẫn đến giá trị được trả về trong lpMaximumComponentLengththam số của GetVolumeInformationhàm (giá trị này thường là 255 ký tự). Để chỉ định đường dẫn có độ dài mở rộng, hãy sử dụng tiền tố "\\? \". Ví dụ: "\? \ D: \ đường dẫn rất dài ".

Thật không may, bạn không thể chỉ cần gõ \\?\D:\very long pathvào một cửa sổ Explorer. Ứng dụng phải được thiết kế để tận dụng các API này và xử lý các tên đường dẫn rất dài.

Một cách để truy cập các đường dẫn có độ dài mở rộng trong Windows là cài đặt Cygwin , lớp mô phỏng * nix cho Windows. Trong thử nghiệm của tôi, Cygwin dường như không bị giới hạn bởi MAX_PATH; bash và vi không có vấn đề với đường dẫn dài 2.000 ký tự.

Hãy nhớ rằng mặc dù bạn có thể sử dụng bash để duyệt các đường dẫn có độ dài mở rộng, nhưng bạn có thể sẽ không thể mở các tệp trong các đường dẫn đó trong các ứng dụng Windows thông thường. Ví dụ, nhập notepadtrong khi thư mục làm việc là một đường dẫn có độ dài mở rộng sẽ giúp bạn

Lỗi: Thư mục làm việc hiện tại có đường dẫn dài hơn mức cho phép đối với thư mục làm việc Win32. Không thể khởi động ứng dụng Windows gốc từ đây.

Và cố gắng notepad "\\?\D:\very long path\file.txt"cũng không hoạt động; nó khởi chạy, nhưng chỉ nói "Không thể tìm thấy tệp ..." Cố gắng tương tự với Notepad ++ làm hỏng nó. (Có lẽ là tràn bộ đệm.)

Tùy chọn khác của bạn để truy cập các tệp cụ thể được chôn sâu trong một đường dẫn có độ dài mở rộng là rút ngắn chính đường dẫn đó bằng cách tạo một điểm nối NTFS . Từ một dấu nhắc lệnh nâng cao:

D:\> mklink /J jct "\\?\D:\very\long\path"

Bây giờ bạn có thể truy cập nội dung D:\very\long\path\từ D:\jct\. Bạn sẽ không gặp phải bất kỳ vấn đề nào về độ dài đường dẫn bởi vì liên quan đến Explorer và các ứng dụng khác, đường dẫn chỉ là D:\jct\(hoặc bất cứ điều gì). Trình điều khiển NTFS xử lý chuyển hướng đường dẫn ("điểm lặp lại") trong suốt.

Nhược điểm của phương pháp này rõ ràng là bạn phải tạo một đường nối gần tệp bạn muốn truy cập; bạn vẫn không thể duyệt toàn bộ cấu trúc thư mục.

Về các ký tự đặc biệt ( " * : < > ? \ |), đó đơn giản là không có. Những ký tự đó có ý nghĩa đặc biệt trong Windows, vì vậy không thể sử dụng chúng trong các đường dẫn. (Cygwin cho phép bạn tạo các tệp có các ký tự đặc biệt, nhưng thực tế là bằng cách thay thế các ký tự bằng các ký tự Unicode đặc biệt, sau đó nó sẽ thay thế trở lại khi đọc. các ký tự Unicode sẽ không được thay thế trở lại.)


Tất cả những gì đã nói, bạn đang làm gì đòi hỏi những con đường rất dài? Có lẽ bạn có thể làm cho cuộc sống của bạn dễ dàng hơn bằng cách đánh giá lại những gì bạn đang làm và tránh những con đường dài. Rất có thể, dù sao bạn cũng không cần đường dẫn .


Có vẻ như câu trả lời này nói rằng "Không có phần mềm nào tồn tại mà thực hiện những gì bạn đang tìm kiếm" nhưng không rõ ràng
Aaron

5

Nếu bạn thích các ứng dụng chế độ văn bản, thì FAR Manager có thể khiến bạn quan tâm vì tôi thấy rằng nó có thể hỗ trợ các cấu trúc thư mục sâu hơn Windows Explorer (mặc dù vẫn có một số hạn chế do chính hệ điều hành Windows bên dưới).

Đây là một ứng dụng Windows 32 bit / 64 bit gốc, giống như Norton Commander (từ thời DOS là người cai trị tối cao của Hệ điều hành trên PC), chuyên về Thư mục (còn gọi là "Thư mục") và Quản lý tệp.

Tôi thậm chí đã thấy các báo cáo về việc nó được sử dụng thay thế cho Windows Explorer, nhưng tôi đã không thử điều này vì tôi khá hài lòng với nó trong bối cảnh sử dụng nó như một ứng dụng. Ảnh chụp màn hình tôi bao gồm bên dưới có tính năng "Cây thư mục" ở phía bên tay phải, được kích hoạt bằng cách nhấn F9 (Thanh menu), sau đó "R" (menu Bảng điều khiển bên phải), sau đó là "T" (Chế độ bảng điều khiển cây) , có thể được bạn đặc biệt quan tâm ...

  Trình quản lý FAR (miễn phí và mã nguồn mở)
  http://www.farmanager.com/

nhập mô tả hình ảnh ở đây


Cảm ơn! (1) Tôi đã thử FAR trước đây. Có hai câu hỏi. Tôi cảm thấy căng thẳng màu xanh đậm mắt của tôi, vì vậy nó có thể được thay đổi? Ngoài ra, tôi tự hỏi làm thế nào để chọn một ứng dụng để mở một tệp có thể không được nhận dạng hoặc được mở trong một số ứng dụng khác nhau. (2) Tôi thấy rằng không chỉ Windows Explorer mà cả các phần mềm khác cũng bị các tên đường dẫn quá dài. Ví dụ: trong Firefox, tôi muốn lưu một trang web vào một thư mục, tôi vẫn không thể mở thư mục nếu tên hoặc tên đường dẫn của nó quá dài. Firefox cũng dựa vào Windows Explorer? Làm thế nào tôi có thể giải quyết vấn đề đó quá?
Tim

Có, màu sắc có thể được thay đổi: F9 (Thanh menu), "O" (Menu tùy chọn), "L" (Màu sắc).
Randolf Richardson

Tôi hoàn toàn không hiểu câu hỏi thứ hai về "... cách chọn ứng dụng để mở tệp ..." nhưng nếu bạn nhấn Shift-Enter trên một tệp, nó sẽ dựa vào Hiệp hội tệp của Windows để mở nó (thay vào đó cố gắng tìm một tính năng tích hợp hoặc trình cắm FAR Manager để xử lý nó).
Randolf Richardson

Đối với câu hỏi cuối cùng của bạn, đôi khi tôi nhận thấy rằng Trình quản lý FAR dường như có thể xử lý các đường dẫn dài hơn một chút. Tôi không chắc tại sao lại như vậy, nhưng tôi nghi ngờ vấn đề bạn gặp phải có thể là một hạn chế của chính HĐH Windows.
Randolf Richardson

1
Sử dụng Shift-Enter, điều này sẽ khiến Windows cố gắng mở nó; vì nó sẽ không được nhận dạng, bạn sẽ được trình bày với lời nhắc thông thường để chọn một ứng dụng.
Randolf Richardson

4

có một số lựa chọn thay thế, nhưng tôi đã không kiểm tra độ sâu của các thư mục.

Tôi đã thử Explorer ++ , mã nguồn mở và di động

Ảnh chụp màn hình Explorer ++

và thường xuyên sử dụng Cubic Explorer , cũng là nguồn mở:

Ảnh chụp màn hình của Cubicexplorer


Cảm ơn! Tôi thấy rằng không chỉ Windows Explorer mà cả các phần mềm khác cũng bị các tên đường dẫn quá dài. Ví dụ: trong Firefox, tôi muốn lưu một trang web vào một thư mục, tôi vẫn không thể mở thư mục nếu tên hoặc tên đường dẫn của nó quá dài. . Firefox cũng dựa vào Windows Explorer? Làm thế nào tôi có thể giải quyết vấn đề đó quá?
Tim

1
@Tim: Bạn có thể đang gặp phải một giới hạn do chính thiết kế của Windows áp đặt. Tôi cũng nhận thấy rằng dấu nhắc DOS thậm chí có vấn đề với các đường dẫn thực sự dài, mặc dù tôi có thể tìm hiểu sâu hơn một chút bằng cách sử dụng các tên đường dẫn "kiểu 8.3" xấu xí đó (ví dụ: "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Tuy nhiên, một tính năng hay là việc trộn các tên đường dẫn ngắn hơn 8.3 này với các đường dẫn dài hơn dường như chỉ hoạt động tốt trong phần lớn các ứng dụng.
Randolf Richardson

@Randolf: Cảm ơn! Tôi đã thử phần mềm được đề xuất trong các bài đăng của bạn và Juhele. FAR ngoại lệ, không ai trong số họ có thể truy cập một đường dẫn dài, trong khi FAR có thể mở một thư mục như vậy, nó không thể mở một tệp theo nó. Có phải vấn đề đường dẫn dài vốn có đối với HĐH Windows, bất kể chương trình nào cần duyệt thư mục? Nếu có, điều đó có nghĩa là không có cách nào để đi xung quanh nó?
Tim

@Tim: Tôi tin rằng bạn đã xác nhận sự cố với một giới hạn trong chính Windows. Bạn có thể sử dụng FAR Manage để xem tệp (phím F3 sau khi tô sáng tệp) không? Còn việc sử dụng Enter (không có Shift) thì sao? (Nếu bạn có thể xem nó, thì bạn cũng có thể sao chép nó sang một vị trí khác nơi Windows có thể sử dụng nó - mặc dù điều này rất tẻ nhạt, nhưng ít nhất nó cũng có thể truy cập tệp.)
Randolf Richardson

4
Tôi vừa thử Explorer ++ và Cubic Explorer. Nhưng cả hai dường như không hỗ trợ tên đường dẫn dài.
xaedes

1

Tôi đã thử trình quản lý tệp 7-Zip và nó dường như hoạt động tốt với các đường dẫn dài.


Rực rỡ! Viên ngọc ẩn mà tôi có trên máy tính và không nghĩ sẽ thử. Phần thưởng: Tôi đã có một chặng đường dài trên chia sẻ mạng - và tôi nhận thấy rằng hiệu suất trên Trình quản lý tệp 7 Zip rất nhanh so với hiệu suất chậm trên Windows Explorer
Omaer

0

Bạn đã thử Total Commander chưa? Đó là phần mềm chia sẻ. Nó dường như để đối phó với tên đường dẫn dài và nói chung là một trình quản lý tệp rất hữu ích.

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.