Jump to content

Ordnerstruktur mit einer Pfadlänge grösser 256 Zeichen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen

 

Ich habe in Excel ein VBA geschrieben, welches mir auf Basis einer Tabelle eine Ordnerstruktur anlegen soll.

Das klappt wunderbar.

 

Das Problem ist nun, dass diverse Pfade länger werden als die 256 Zeichen.

 

Bei dem Versuch das Problem zu lösen, bin ich auf das ReFs Dateisystem gestossen.

Dieses soll gemäss Angaben Pfadlängen bis zu 32000 Zeichen unterstützen.

 

Ich habe nun mit meinem Win 8.1 eine externe Festplatte mit ReFs formatiert. Wenn ich dort aber nun von Hand versuche eine Ordnerstruktur anzulegen deren Pfad grösser als 256 Zeichen lang wird, funktioniert dies nicht. Es kommt die Meldung: "Der Dateiname wäre zu lang für den Zielordner. Kürzen sie........"

 

Ich dachte mir, dass es am Dateisystem NTFS liegt auf welchem Win 8.1 installiert ist. Meinen Tests mit VMWare eine Win 8 auf ein Dateisystem ReFs zu installieren scheitern mit der Meldung: Win8 müsse auf NTFS installiert werden. Das Selbe für Windows Server 2012.

 

Hat mir irgend jemand eine Idee, wie ich das Problem lösen kann (ausser natürlich nicht so lange Pfade zu machen)?

z.B: welches Windows Betriebssystem ich auf das Dateisystem ReFs installieren kann?

 

Liebe Grüsse

Marc

Geschrieben (bearbeitet)

Hallo Dukel, danke!

 

LOL, echt jetzt? Und gäbe kennt wer eine API die diese Einschränkung nicht hat?

Oder sonst eine Idee?

 

Edit: Ja echt. Mit Total Commander habe ich eine Verzeichnisstruktur mit einer Pfadlänge von 800 Zeichen anlegen können.

bearbeitet von mwreg@outlook.com
Geschrieben

Das Problem mit den 256 Zeichen liegt weder in Excel noch in Windows Explorer, sondern im Win32-API. Längere Pfade gehen nur bei direktem Dateisystemzugriff, wie es z.B. der TotalCommander macht, aber auch Robocopy.

Geschrieben

Das hängt ein wenig davon ab, welche API man benutzt:

 

 

The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, \\?\D:\very long path.

 

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

 

Warum Microsoft in den meisten Anwendungen nur die "alten" API's benutzt wird wohl mit dem Alter des Codes zu tun haben. Wenn man an dieser Stelle was ändert, tritt man eine ganze Lawine los, mit nur begrenztem Nutzen. Da setzt MS, wie so oft, andere Prioritäten.

  • 3 Monate später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...