Aktualisieren:
Ich habe festgestellt, dass nicht nur der Windows Explorer, sondern auch andere Software unter zu langen Pfadnamen leidet. Wenn ich beispielsweise in Firefox eine Webseite in einem Verzeichnis speichere, kann ich dies immer noch nicht tun, wenn der Name oder Pfadname zu lang ist. Verlässt sich Firefox auch auf Windows Explorer? Wie kann ich dieses Problem auch lösen?
Ich habe die in den beiden Antworten empfohlene Software ausprobiert. Keiner von ihnen kann auf einen langen Pfad zugreifen. Ist das Problem mit dem langen Pfad in Windows-Betriebssystemen enthalten, unabhängig davon, welches Programm zum Durchsuchen von Verzeichnissen verwendet wird? Wenn ja, gibt es keine Möglichkeit, daran vorbei zu kommen?
Original: Auf meinem Laptop sind zwei Betriebssysteme installiert: Windows 7 und Ubuntu 10.10. Sie teilen sich eine Partition.
In Ubuntu kann ich mithilfe von Nautilus Verzeichnisse erstellen, die sich sehr tief in der Pfadhierarchie auf der freigegebenen Partition befinden. Bei einem Wechsel zu Windows erlaubt Windows Explorer jedoch keinen Zugriff auf Verzeichnisse, die zu tief liegen, dh einen zu langen Pfadnamen haben.
Auch Windows Explorer scheint nicht in der Lage zu sein, auf unter Ubuntu erstellte Dateien und Verzeichnisse mit Sonderzeichen in Verzeichnis- und Dateinamen zuzugreifen.
Ich habe mich gefragt, was das Problem in Windows lösen kann. Gibt es zum Beispiel eine andere alternative Software, die den Windows Explorer ersetzt?
Antworten:
Während NTFS Pfade mit einer Länge von 32.000 Zeichen zulässt, haben Sie die Pfadlängenbeschränkung von 259 Zeichen der Win32-API gefunden .
(Zusätzlich wird ein
NULL
Abschlusszeichen an den Pfad angehängt, das uns 259 verwendbare Zeichen gibt.)Da Explorer (und fast alle anderen Windows-Apps) für den Dateisystemzugriff auf die Win32-API angewiesen sind, ist es nicht sinnvoll , diese Einschränkung zu umgehen, obwohl dies möglich ist :
Leider können Sie nicht einfach
\\?\D:\very long path
in ein Explorer-Fenster eingeben. Die Anwendung muss so konzipiert sein, dass sie diese APIs nutzt und sehr lange Pfadnamen verarbeitet.Eine Möglichkeit, unter Windows auf Pfade mit erweiterter Länge zuzugreifen, ist die Installation von Cygwin , einer * nix-Emulationsebene für Windows. In meinen Tests scheint Cygwin nicht eingeschränkt zu sein
MAX_PATH
; Bash und Vi hatten keine Probleme mit Pfaden mit einer Länge von 2.000 Zeichen.Beachten Sie, dass Sie mit bash zwar Pfade mit erweiterter Länge durchsuchen können, in normalen Windows-Anwendungen jedoch möglicherweise keine Dateien in diesen Pfaden öffnen können. Wenn Sie beispielsweise eingeben,
notepad
während das Arbeitsverzeichnis ein Pfad mit erweiterter Länge ist, erhalten SieUnd versuchen
notepad "\\?\D:\very long path\file.txt"
funktioniert auch nicht; es wird gestartet, sagt aber nur "Datei kann nicht gefunden werden ..." Wenn Sie das Gleiche mit Notepad ++ versuchen, stürzt es ab. (Wahrscheinlich ein Pufferüberlauf.)Sie können auch auf bestimmte Dateien zugreifen, die tief in einem Pfad mit erweiterter Länge vergraben sind, indem Sie den Pfad selbst verkürzen, indem Sie einen NTFS- Junction-Punkt erstellen . An einer Eingabeaufforderung mit erhöhten Rechten:
Sie können jetzt auf den Inhalt von
D:\very\long\path\
von zugreifenD:\jct\
. Sie werden keine Probleme mit der Pfadlänge haben, da der Pfad für Explorer und andere Apps einfach istD:\jct\
(oder was auch immer). Der NTFS-Treiber leitet den Pfad (den "Analysepunkt") transparent um.Der Nachteil dieses Ansatzes ist offensichtlich, dass Sie eine Junction in der Nähe der Datei erstellen müssen, auf die Sie zugreifen möchten. Sie können immer noch nicht einfach die gesamte Verzeichnisstruktur durchsuchen.
In Bezug auf Sonderzeichen (
" * : < > ? \ |
) ist das einfach ein No-Go. Diese Zeichen haben in Windows eine besondere Bedeutung. Sie können daher nicht in Pfaden verwendet werden. (Mit Cygwin können Sie Dateien mit Sonderzeichen erstellen . Dies geschieht jedoch, indem Sie die Zeichen durch Unicode-Sonderzeichen ersetzen, die dann beim Lesen ersetzt werden. Das Anzeigen dieser von Cygwin erstellten Dateien unter Linux oder im Explorer würde da nicht richtig aussehen Die Unicode-Zeichen würden nicht zurückgesetzt.)Alles in allem, was machst du, was sehr lange Wege erfordert? Vielleicht könnten Sie Ihr Leben einfacher machen, indem Sie Ihre Aktivitäten neu bewerten und lange Wege vermeiden. Wahrscheinlich brauchen Sie sowieso keine so langen Wege .
quelle
Wenn Sie Anwendungen im Textmodus mögen, könnte FAR Manager für Sie von Interesse sein, da ich festgestellt habe, dass er tiefere Verzeichnisstrukturen unterstützt als Windows Explorer (obwohl das zugrunde liegende Windows-Betriebssystem selbst noch einige Einschränkungen auferlegt).
Hierbei handelt es sich um eine native 32-Bit / 64-Bit-Windows-Anwendung, die sich wie Norton Commander (seit DOS das oberste Gebot für Betriebssysteme auf dem PC war) auf die Verzeichnis- (auch als "Ordner" bezeichnet) und Dateiverwaltung spezialisiert hat.
Ich habe sogar Berichte darüber gesehen, dass es als Ersatz für Windows Explorer verwendet wird, aber ich habe es nicht ausprobiert, da ich im Zusammenhang mit der Verwendung als Anwendung recht zufrieden bin. Der unten abgebildete Screenshot enthält die Funktion "Verzeichnisbaum" auf der rechten Seite, die durch Drücken von F9 (Menüleiste), dann "R" (Menü im rechten Bereich) und anschließend "T" (Baumbedienfeldmodus) aktiviert wird. , die für Sie von besonderem Interesse sein können ...
FAR Manager (kostenlos und Open Source)
http://www.farmanager.com/
quelle
Es gibt einige Alternativen, aber ich habe nicht geprüft, wie tief die Verzeichnisse sein könnten.
Ich habe Explorer ++ ausprobiert , Opensource und Portable
und verwende aktuell den Cubic Explorer , ebenfalls OpenSource:
quelle
Ich habe den 7-Zip-Dateimanager ausprobiert und es scheint gut mit langen Pfaden zu funktionieren.
quelle
Haben Sie Total Commander ausprobiert ? Es ist Shareware. Es scheint mit langen Pfadnamen umzugehen und ist im Allgemeinen ein sehr nützlicher Dateimanager.
quelle