Uzun yol adları için Windows Gezgini'ne alternatif


24

Güncelleştirme:

  1. Yalnızca Windows Gezgini'nin değil, diğer yazılımların da çok uzun yol adlarından muzdarip olduğunu buldum. Örneğin, Firefox’ta bir web sayfasını bir dizine kaydettiğimde, adı veya yol adı çok uzunsa yine de yapamam. Firefox ayrıca Windows Gezgini'ne de güveniyor mu? Bu sorunu da nasıl çözebilirim?

  2. İki cevapta önerilen yazılımı denedim. Hiçbiri uzun bir yola erişemez. Dizinlere göz atmak için hangi programdan bağımsız olarak, Uzun yol sorunu Windows işletim sistemine özgü mü? Eğer evet ise, bunun üstesinden gelmenin bir yolu olmadığı anlamına mı geliyor?

Orijinal: Dizüstü bilgisayarımda iki işletim sistemi var: Windows 7 ve Ubuntu 10.10. Bir bölümü paylaşıyorlar.

Ubuntu'da, Nautilus'u kullanarak, paylaşılan bölümdeki yol hiyerarşisinde çok derin bulunan dizinler oluşturabilirim. Ancak Windows'a geçerken, Windows Gezgini, çok derin, yani çok uzun bir yol adına sahip dizinlere erişime izin vermiyor.

Ayrıca Windows Gezgini, Ubuntu altında oluşturulan dosya ve dizinlere, dizin ve dosya adlarında özel karakterlerle erişemez.

Windows'ta sorunu ne çözebilir merak ediyorum? Örneğin, Windows Gezgini'nin yerini alacak başka bir alternatif yazılım var mı?


1
Paylaşılan bölüm için hangi dosya sistemini kullandınız (FAT32, NTFS)?
James P

1
@James: ntfs ...
Tim

Neden bu kadar uzun bir yol veya derinliğe ihtiyaç duyduğunu soracağım. 259 sınırına ulaşmanıza yol açan her şeyi çözmek, Windows üzerinde çalışmasını sağlamaktan daha kolaydır.
cjb110

Yanıtlar:


30

NTFS, 32.000 karakter uzunluğunda yollara izin verirken , Win32 API'sinin 259 karakterlik yol uzunluğu sınırlamasını buldunuz .

Windows API'sinde ([bağlantılı belgede] açıklanan bazı istisnalar dışında), bir yol için maksimum uzunluk MAX_PATH260 karakter olarak tanımlanır.

(Ek NULLolarak yola 259 kullanılabilir karakter veren bir sonlandırma karakteri de eklenmiştir.)

Explorer (ve hemen hemen tüm Windows uygulamalarının) dosya sistemi erişimi için Win32 API'sine güvendiğinden , mümkün olsa bile bu sınırlamanın üstesinden gelmek pratik değildir :

Windows API, maksimum toplam yol uzunluğu 32,767 karakter için uzatılmış uzunlukta bir yola izin vermek için Unicode sürümlerine sahip birçok fonksiyona sahiptir. Bu yol türü, her biri işlev lpMaximumComponentLengthparametresinde döndürülen değere kadar ters eğik çizgilerle ayrılmış bileşenlerden oluşur GetVolumeInformation(bu değer genellikle 255 karakterdir). Uzun bir yol belirtmek için "\\? \" Ön ekini kullanın. Örneğin, "\\? \ D: \ çok uzun yol ".

Ne yazık ki, sadece \\?\D:\very long pathbir Explorer penceresine yazamazsınız. Uygulama, bu API'lerden yararlanmak ve çok uzun yol adlarını işlemek için tasarlanmış olmalıdır.

Windows altında erişim genişletilmiş uzunlukta yolları bir yolu yüklemektir Cygwin , Windows için bir * Nix emülasyona. Testlerimde, Cygwin MAX_PATH; bash ve vi'nin 2000 karakter uzunluğundaki yolları ile hiçbir problemi yoktu.

Genişletilmiş uzunluktaki yollara göz atmak için bash kullanabilseniz de, normal Windows uygulamalarında bu yollardaki dosyaları açamayacağınızı unutmayın. Örneğin notepad, çalışma dizini genişletilmiş bir yoldayken yazmak sizi

Hata: Geçerli çalışma dizininin bir Win32 çalışma dizini için izin verilenden daha uzun bir yolu var. Yerel Windows uygulamasını buradan başlatamıyorum.

Ve denemek notepad "\\?\D:\very long path\file.txt"de işe yaramıyor; başlattı, ancak sadece "Dosya bulunamıyor ..." diyor . Notepad ++ ile aynı şekilde denenmesi çöküyor. (Muhtemelen bir arabellek taşması.)

Belirli bir uzunluğa sahip bir yolun içine gömülü belirli dosyalara erişme seçeneğiniz, bir NTFS bağlantı noktası oluşturarak yolun kendisini kısaltmaktır . Yükseltilmiş bir komut isteminden:

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

Artık içeriğine erişebilir D:\very\long\path\dan D:\jct\. Explorer ve diğer uygulamalar söz konusu olduğunda, yol yalnızca D:\jct\(veya her neyse) olduğu için hiçbir yol uzunluğu sorunuyla karşılaşmazsınız . NTFS sürücüsü yolu ("yeniden inceleme noktası") şeffaf bir şekilde yönlendirmeyi işler.

Bu yaklaşımın dezavantajı, erişmek istediğiniz dosyanın yakınında bir kavşak oluşturmanız gerektiği açıktır; Dizin yapısının tamamına göz atamazsınız.

Özel karakterler ( " * : < > ? \ |) ile ilgili olarak, sadece bir no-go. Bu karakterlerin Windows içerisinde özel anlamları vardır, bu yüzden bunları yollarda kullanmak mümkün değildir. (Cygwin, özel karakterlere sahip dosyalar oluşturmanıza izin verir, ancak bunu karakterleri özel Unicode karakterleriyle değiştirerek yapar, okuduğunda geri alır. Bu Cygwin tarafından oluşturulan dosyaları Linux altında veya Explorer'da görüntülemek doğru olmaz, çünkü Unicode karakterler yerine kullanılmaz.)


Bütün bunlar, çok uzun yollar gerektiren ne yapıyorsunuz? Belki de yaptığınız işi yeniden değerlendirip uzun yollardan kaçınarak yaşamınızı kolaylaştırabilirsiniz. Muhtemelen, zaten bu kadar uzun yollara ihtiyacınız yok .


Görünüşe göre bu cevap "aradığınızı yapan hiçbir yazılım yok" diyor ama açıkça değil
Aaron

5

Metin modu uygulamalarını seviyorsanız, FAR Yöneticisi ilginizi çekebilir, çünkü Windows Gezgini'nden daha derin dizin yapılarını destekleyebileceğini öğrendim (yine de temel Windows işletim sistemi tarafından dayatılan bazı sınırlamalar olsa da).

Bu, Norton Commander gibi (DOS'un PC'deki İşletim Sistemlerinin en üstün yöneticisi olduğu günlerden itibaren), Dizin (aka, "Klasör") ve Dosya yönetimi konusunda uzmanlaşmış, yerel bir 32 bit / 64 bit Windows uygulamasıdır.

Windows Gezgini'nin yerine kullanıldığını gösteren raporlar bile gördüm, ancak bunu bir uygulama olarak kullanmak bağlamında oldukça memnun olduğum için denemedim. Aşağıda eklediğim ekran görüntüsü, sağ tarafta F9 (Menü çubuğu), ardından "R" (Sağ Panel menüsü), ardından "T" (Ağaç Paneli modu) tuşuna basılarak etkinleştirilen sağ taraftaki "Dizin Ağacı" özelliğini içerir. , özellikle ilginizi çekebilir ...

  FAR Manager (ücretsiz ve açık kaynak)
  http://www.farmanager.com/

görüntü tanımını buraya girin


Teşekkürler! (1) Daha önce FAR'ı denedim. İki soru var. Gözlerimin koyu mavi gerginliğini hissediyorum, bu yüzden değiştirilebilir mi? Ayrıca, tanınamayan veya birkaç farklı uygulamada açılabilen bir dosyayı açmak için nasıl bir uygulama seçeceğimi de merak ediyorum. (2) Yalnızca Windows Gezgini’nin değil, diğer yazılımların da çok uzun yol adlarından muzdarip olduğunu buldum. Örneğin, Firefox’ta bir web sayfasını bir dizine kaydetmek istiyorum, adı veya yol adı çok uzunsa, dizini açamıyorum. Firefox ayrıca Windows Gezgini'ne de güveniyor mu? Bu sorunu da nasıl çözebilirim?
Tim

Evet, renk değiştirilebilir: F9 (Menü çubuğu), "O" (Seçenekler menüsü), "L" (Renkler).
Randolf Richardson,

"... bir dosyayı açmak için nasıl bir uygulama seçileceği ..." ile ilgili ikinci soruyu tam olarak anlamadım, ancak bir dosyaya Shift-Enter tuşuna basarsanız, açmak için Windows Dosya İlişkilendirmelerine bağlı olacaktır (bunun yerine) yerleşik bir özellik veya bunun için FAR Yöneticisi eklentisi bulmaya çalışıyorum).
Randolf Richardson

Son sorunuz için, FAR Yöneticisinin bazen biraz daha uzun yolları kullanabileceğini farkettim. Bunun neden olduğundan emin değilim, ancak yaşadığınız sorunun Windows işletim sistemi için bir sınırlama olabileceğinden şüpheleniyorum.
Randolf Richardson

1
Windows'un açmaya çalışmasına neden olacak olan Shift-Enter tuşunu kullanın; tanınmayacağından, bir uygulamayı seçmek için olağan istemi sunulur.
Randolf Richardson

4

bazı alternatifler var, ama dizinlerin ne kadar derin olabileceğini kontrol etmedim.

Explorer ++ ' ı denedim , açık kaynak kodlu ve taşınabilir

Explorer ++ ekran görüntüsü

ve Cubric Explorer’ı da merakla kullanıyorsunuz , ayrıca kaynak:

Cubicexplorer ekran görüntüsü


Teşekkürler! Yalnızca Windows Gezgini'nin değil, diğer yazılımların da çok uzun yol adlarından muzdarip olduğunu buldum. Örneğin, Firefox’ta bir web sayfasını bir dizine kaydetmek istiyorum, adı veya yol adı çok uzunsa, dizini açamıyorum. . Firefox ayrıca Windows Gezgini'ne de güveniyor mu? Bu sorunu da nasıl çözebilirim?
Tim

1
@Tim: Windows'un kendi tasarımı tarafından dayatılan bir sınırlamaya giriyor olabilirsiniz. Ayrıca DOS isteminde çok uzun yollarla ilgili sorunlar olduğunu da fark ettim, ancak bu çirkin "8.3 tarzı" yol adlarını kullanarak biraz daha derine inebiliyorum (örneğin, "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Bununla birlikte, hoş bir özellik, bu daha kısa 8.3 yol adını daha uzun olanlarla karıştırmanın, uygulamaların çoğunda sadece iyi çalıştığı görülmektedir.
Randolf Richardson

@Randolf: Teşekkürler! Senin ve Juhele'nin gönderilerinde önerilen yazılımı denedim. FAR yürütülür, bunlardan hiçbiri uzun bir yola erişebilir, FAR ise böyle bir dizini açabilir, altındaki dosyayı açamaz. Dizinlere göz atmak için hangi programdan bağımsız olarak, Uzun yol sorunu Windows işletim sistemine özgü mü? Eğer evet ise, bunun üstesinden gelmenin bir yolu olmadığı anlamına mı geliyor?
Tim

@Tim: Sorunu, Windows’un kendi sınırlamasıyla onayladığınızı düşünüyorum. Dosyayı görüntülemek için FAR Manage'ı kullanabilir misiniz (dosyayı vurguladıktan sonra F3 tuşu)? Enter (Shift olmadan) kullanmaya ne dersiniz? (Görebiliyorsanız, Windows'un kullanabileceği başka bir yere de kopyalayabilirsiniz - bu sıkıcı olmasına rağmen, en azından dosyaya erişmeyi mümkün kılar.)
Randolf Richardson

4
Sadece Explorer ++ ve Cubic Explorer'ı denedim. Ancak her ikisi de uzun yol adlarını desteklemiyor gibi görünüyor.
xaedes 10:13

1

7-Zip dosya yöneticisini denedim ve uzun yollarla iyi çalışıyor gibi görünüyor.


Parlak! Bilgisayarımda vardı ve sadece denemek için düşünmedim gizli mücevher. Bonus: Bir ağ paylaşımında çok uzun bir yol vardı - ve 7 Zip Dosya Yöneticisi'ndeki performansın Windows Explorer'daki yavaş performans karşısında hızlı hızlı olduğunu
farkettim

0

Total Commander'ı denediniz mi? Bu bir shareware. Uzun yol isimleriyle ilgileniyor gibi görünüyor ve genel olarak çok yararlı bir dosya yöneticisi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.