Alternatif untuk Windows Explorer untuk nama jalur panjang

24

Memperbarui:

  1. Saya menemukan bahwa tidak hanya Windows Explorer tetapi juga perangkat lunak lain menderita terlalu lama nama path. Misalnya, di Firefox, ketika saya menyimpan halaman web ke direktori, saya masih tidak bisa melakukannya jika nama atau nama jalurnya terlalu panjang. Apakah Firefox juga mengandalkan Windows Explorer? Bagaimana saya bisa menyelesaikan masalah itu juga?

  2. Saya telah mencoba perangkat lunak yang direkomendasikan dalam dua balasan. Tak satu pun dari mereka dapat mengakses jalur panjang. Apakah masalah Long path melekat pada OS Windows, terlepas dari program mana yang menjelajah direktori? Jika ya, apakah itu berarti tidak ada cara untuk menyiasatinya?

Asli: Saya memiliki dua OS yang diinstal pada laptop saya: Windows 7 dan Ubuntu 10.10. Mereka berbagi partisi.

Di Ubuntu, dengan menggunakan Nautilus, saya bisa membuat direktori yang terletak sangat dalam di jalur hierarki di partisi bersama. Tetapi ketika beralih ke Windows, Windows Explorer tidak memungkinkan mengakses direktori yang terletak terlalu dalam, yaitu memiliki nama jalur yang terlalu panjang.

Juga Windows Explorer tampaknya tidak dapat mengakses file dan direktorat yang dibuat di bawah Ubuntu dengan karakter khusus dalam direktori dan nama file.

Saya bertanya-tanya apa yang bisa menyelesaikan masalah di Windows? Misalnya, apakah ada perangkat lunak alternatif lain untuk menggantikan Windows Explorer?

Tim
sumber
1
Sistem file apa yang Anda gunakan untuk partisi bersama (FAT32, NTFS)?
James P
1
@ James: ntfs ...
Tim
Saya akan bertanya mengapa Anda membutuhkan jalur atau kedalaman yang panjang ini? Memecahkan apa pun yang menyebabkan Anda mencapai batas 259 kemungkinan lebih mudah daripada membuat Windows bekerja di sekitarnya.
cjb110

Jawaban:

30

Sementara NTFS memungkinkan lintasan sekitar 32.000 karakter, Anda telah menemukan batasan panjang lintasan 259 karakter Win32 API .

Di Windows API (dengan beberapa pengecualian yang dibahas dalam [dokumen tertaut]), panjang maksimum untuk jalur adalah MAX_PATH, yang didefinisikan sebagai 260 karakter.

(Ada juga NULLkarakter terminasi ditambahkan ke jalan, memberi kita 259 karakter yang dapat digunakan.)

Karena Explorer (dan hampir semua aplikasi Windows lainnya) bergantung pada Win32 API untuk akses sistem file, tidak praktis untuk mengatasi batasan ini walaupun mungkin :

Windows API memiliki banyak fungsi yang juga memiliki versi Unicode untuk mengizinkan jalur panjang-panjang untuk panjang jalur total maksimum 32.767 karakter. Tipe jalur ini terdiri dari komponen yang dipisahkan oleh garis miring terbalik, masing-masing hingga nilai yang dikembalikan dalam lpMaximumComponentLengthparameter GetVolumeInformationfungsi (nilai ini biasanya 255 karakter). Untuk menentukan jalur panjang yang diperluas, gunakan awalan "\\? \". Misalnya, "\\? \ D: \ jalan yang sangat panjang ".

Sayangnya, Anda tidak bisa mengetik begitu saja \\?\D:\very long path ke jendela Explorer. Aplikasi harus dirancang untuk memanfaatkan API ini dan menangani nama jalur yang sangat panjang.

Salah satu cara untuk mengakses jalur yang diperluas pada Windows adalah dengan menginstal Cygwin , lapisan emulasi * nix untuk Windows. Dalam pengujian saya, Cygwin tampaknya tidak dibatasi oleh MAX_PATH; bash dan vi tidak memiliki masalah dengan jalur sepanjang 2.000 karakter.

Ingatlah bahwa meskipun Anda dapat menggunakan bash untuk menelusuri jalur panjang, Anda mungkin tidak akan dapat membuka file di jalur tersebut di aplikasi Windows biasa. Misalnya, mengetik notepadsementara direktori kerja adalah jalur yang panjangnya membuat Anda

Kesalahan: Direktori kerja saat ini memiliki jalur yang lebih panjang dari yang diizinkan untuk direktori kerja Win32. Tidak dapat memulai aplikasi Windows asli dari sini.

Dan berusaha notepad "\\?\D:\very long path\file.txt"juga tidak berhasil; itu diluncurkan, tetapi hanya mengatakan "Tidak dapat menemukan file ..." Mencoba hal yang sama dengan Notepad ++ crash. (Mungkin buffer overflow.)

Pilihan Anda yang lain untuk mengakses file tertentu yang terkubur jauh di dalam jalur panjang-diperpanjang adalah untuk mempersingkat jalur itu sendiri dengan membuat titik persimpangan NTFS . Dari prompt perintah yang ditinggikan:

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

Anda sekarang dapat mengakses konten D:\very\long\path\dari D:\jct\. Anda tidak akan menemukan masalah panjang jalur karena sejauh menyangkut Explorer dan aplikasi lain, jalurnya adil D:\jct\(atau apa pun). Pengandar NTFS menangani pengalihan jalur ("titik berulang") secara transparan.

Kelemahan dari pendekatan ini jelas bahwa Anda harus membuat persimpangan di dekat file yang ingin Anda akses; Anda masih tidak bisa begitu saja menelusuri seluruh struktur direktori.

Mengenai karakter khusus ( " * : < > ? \ |), itu tidak perlu dilakukan. Karakter-karakter tersebut memiliki makna khusus di dalam Windows, jadi tidak mungkin menggunakannya dalam jalur. (Cygwin memungkinkan Anda membuat file dengan karakter khusus, tetapi ia melakukannya dengan mengganti karakter dengan karakter Unicode khusus, yang kemudian diganti kembali ketika membaca. Melihat file yang dibuat Cygwin ini di Linux atau di Explorer tidak akan terlihat benar, karena karakter Unicode tidak akan diganti kembali.)


Semua itu berkata, apa yang Anda lakukan yang membutuhkan jalan yang sangat panjang? Mungkin Anda bisa membuat hidup Anda lebih mudah dengan mengevaluasi kembali apa yang Anda lakukan dan menghindari jalan panjang. Kemungkinannya adalah, Anda tidak perlu jalur selama itu .

josh3736
sumber
Sepertinya jawaban ini mengatakan "Tidak ada perangkat lunak yang melakukan apa yang Anda cari" tetapi tidak secara eksplisit
Aaron
5

Jika Anda menyukai aplikasi mode teks, maka FAR Manager mungkin menarik bagi Anda karena saya telah menemukan bahwa ia dapat mendukung struktur direktori yang lebih dalam daripada Windows Explorer (walaupun masih ada beberapa batasan yang diberlakukan oleh OS Windows itu sendiri).

Ini adalah aplikasi Windows 32-bit / 64-bit asli yang, seperti Norton Commander (dari hari-hari ketika DOS adalah penguasa tertinggi Sistem Operasi pada PC), mengkhususkan diri dalam Direktori (alias, "Folder") dan manajemen File.

Saya bahkan telah melihat laporan bahwa itu digunakan sebagai pengganti Windows Explorer, tetapi saya belum mencoba ini karena saya cukup senang dengan itu dalam konteks menggunakannya sebagai aplikasi. Tangkapan layar yang saya sertakan di bawah ini menampilkan fitur "Direktori Pohon" di sisi kanan, yang diaktifkan dengan menekan F9 (bilah Menu), lalu "R" (menu Panel Kanan), diikuti oleh "T" (mode Panel Pohon) , yang mungkin menarik bagi Anda ...

  FAR Manager (sumber gratis dan terbuka)
  http://www.farmanager.com/

masukkan deskripsi gambar di sini

Randolf Richardson
sumber
Terima kasih! (1) Saya mencoba JAUH sebelumnya. Ada dua pertanyaan. Saya merasakan mata biru yang gelap membuat mata saya tegang, jadi bisakah itu diubah? Saya juga bertanya-tanya bagaimana cara memilih aplikasi untuk membuka file yang bisa tidak dikenali atau dibuka di beberapa aplikasi yang berbeda. (2) Saya menemukan bahwa tidak hanya Windows Explorer tetapi juga perangkat lunak lain yang menderita karena terlalu panjangnya nama jalur. Misalnya, di Firefox, saya ingin menyimpan halaman web ke direktori, saya masih tidak bisa membuka direktori jika nama atau nama jalurnya terlalu panjang. Apakah Firefox juga mengandalkan Windows Explorer? Bagaimana saya bisa menyelesaikan masalah itu juga?
Tim
Ya, warnanya dapat diubah: F9 (Bilah menu), "O" (menu Opsi), "L" (Warna).
Randolf Richardson
Saya tidak sepenuhnya mengerti pertanyaan kedua tentang "... bagaimana memilih aplikasi untuk membuka file ..." tetapi jika Anda menekan Shift-Enter pada file itu akan bergantung pada Asosiasi File Windows untuk membukanya (sebagai gantinya mencoba menemukan fitur bawaan atau plug-in FAR Manager untuk menanganinya).
Randolf Richardson
Untuk pertanyaan terakhir Anda, saya perhatikan bahwa FAR Manager terkadang dapat menangani jalur yang sedikit lebih panjang. Saya tidak yakin mengapa ini terjadi, tetapi saya menduga masalah yang Anda alami mungkin adalah keterbatasan OS Windows itu sendiri.
Randolf Richardson
1
Gunakan Shift-Enter, yang akan menyebabkan Windows mencoba membukanya; karena itu akan tidak dikenali, Anda akan disajikan dengan prompt yang biasa untuk memilih aplikasi.
Randolf Richardson
4

ada beberapa alternatif, tetapi saya tidak memeriksa seberapa dalam direktori tersebut.

Saya mencoba Explorer ++ , opensource dan portable

Tangkapan layar Explorer ++

dan saat ini gunakan Cubic Explorer , juga opensource:

Tangkapan layar Cubicexplorer

Juhele
sumber
Terima kasih! Saya menemukan bahwa tidak hanya Windows Explorer tetapi juga perangkat lunak lain menderita terlalu lama nama path. Misalnya, di Firefox, saya ingin menyimpan halaman web ke direktori, saya masih tidak bisa membuka direktori jika nama atau nama jalurnya terlalu panjang. . Apakah Firefox juga mengandalkan Windows Explorer? Bagaimana saya bisa menyelesaikan masalah itu juga?
Tim
1
@Tim: Anda mungkin mengalami keterbatasan yang diberlakukan oleh desain Windows itu sendiri. Saya juga memperhatikan bahwa DOS prompt bahkan memiliki masalah dengan jalur yang sangat panjang, walaupun saya bisa sedikit lebih dalam dengan menggunakan nama path "8.3 style" yang jelek (mis., "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Namun, satu fitur yang bagus adalah bahwa mencampurkan nama path 8,3 yang lebih pendek ini dengan yang lebih panjang tampaknya berfungsi dengan baik di sebagian besar aplikasi.
Randolf Richardson
@ Randolf: Terima kasih! Saya telah mencoba perangkat lunak yang direkomendasikan dalam posting Anda dan Juhele. Kecuali FAR, tidak ada yang bisa mengakses jalur panjang, sementara FAR bisa membuka direktori seperti itu, ia tidak bisa membuka file di bawahnya. Apakah masalah Long path melekat pada OS Windows, terlepas dari program mana yang menjelajah direktori? Jika ya, apakah itu berarti tidak ada cara untuk menyiasatinya?
Tim
@ Tim: Saya yakin Anda telah mengkonfirmasi masalah dengan batasan di dalam Windows itu sendiri. Bisakah Anda menggunakan FAR Manage untuk melihat file (kunci F3 setelah menyorot file)? Bagaimana dengan menggunakan Enter (tanpa Shift)? (Jika Anda dapat melihatnya, maka Anda juga dapat menyalinnya ke lokasi lain di mana Windows dapat menggunakannya - meskipun ini membosankan, setidaknya memungkinkan untuk mengakses file tersebut.)
Randolf Richardson
4
Saya baru saja mencoba Explorer ++ dan Cubic Explorer. Namun keduanya sepertinya tidak mendukung nama jalur panjang.
xaedes
2

Saya mencoba file manager 7-Zip dan tampaknya berfungsi baik dengan jalur panjang.

Elouan Keryell-Even
sumber
Cemerlang! Permata tersembunyi yang saya miliki di komputer saya dan tidak berpikir untuk mencoba. Bonus: Saya memiliki jalan panjang dalam berbagi jaringan - dan saya perhatikan bahwa kinerja pada File Manager 7 Zip gila cepat vs kinerja lambat pada Windows Explorer
Omaer
0

Sudahkah Anda mencoba Total Commander ? Ini shareware. Tampaknya berurusan dengan nama jalur yang panjang dan merupakan manajer file yang sangat berguna secara umum.

tanduk
sumber