Hat Windows 7 das Pfadlimit für 255 Zeichendateien behoben?

92

Soweit ich weiß, ist die Beschränkung auf 255 Zeichen in einem Dateipfad eine Windows-Beschränkung. Was ist der Grund dafür? Wenn ja, wurde dies in Windows 7 behoben?

In unseren kontinuierlichen Integrationspraktiken haben wir häufig tief verschachtelte Projektstrukturen, und es wäre äußerst nützlich, über 255 Zeichen hinausgehen zu können. Im Moment sind wir etwas gezwungen, unsere Projekte so zu strukturieren, dass diese künstliche Decke nicht erreicht wird.

Der Matt
quelle
3
@DavidHeffernan Aber das 260 enthält das Nullzeichen am Ende und das C: \ am Anfang, sodass nur 255 Zeichen verwendet werden können.
Aaron Dufour
2
@ DavidHeffernan Ich habe mich geirrt. Microsoft zitiert die Länge häufig als 256, was Sie erhalten, wenn Sie richtig subtrahieren, und nicht als 260, was technisch gesehen die Grenze darstellt.
Aaron Dufour
5
Dieses Problem macht mich wütend. Es ist in Windows 8.1 noch vorhanden. Ich kann meine Dateien scheinbar nicht verschieben, obwohl die Datei irgendwie erstellt wurde. Wenn Sie eine Möglichkeit finden, Dateien mit mehr als 255 Dateipfadnamen zu erstellen, können Sie die Windows-Maschine einer anderen Person völlig durcheinander bringen.
Automatico
Laut Jeremy Kuhne wird das Problem bearbeitet und könnte bald eine Lösung finden. Sehen Sie dieses Video. youtube.com/watch?v=ZppqEMegCAA
J Edward Ellis
Die Frage bezieht sich auf Windows 7, aber Windows 10 bietet die Möglichkeit, für einige Anwendungen lange Pfade zu aktivieren. Weitere Informationen finden Sie in dieser Antwort: stackoverflow.com/questions/27680647/…
quasoft

Antworten:

44

Siehe http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

Dies erklärt, dass Unicode-Versionen von Windows-APIs höhere Grenzwerte haben und wie dies aktiviert werden kann.

Drew Hoskins
quelle
14
Aber ein Wort der Warnung: Es gibt eine Menge Code (meistens Systemdienstprogramme von Drittanbietern und dergleichen), der mit längeren Pfaden nicht gut funktioniert. Möglicherweise haben Sie Probleme damit, wenn Sie längere Pfade verwenden.
ReinstateMonica Larry Osterman
2
Ist dieser Artikel korrekt? Ich habe einen einfachen Test mit Windows Explorer und Windows-Eingabeaufforderung in Windows 7 durchgeführt und kann keine Dateipfade mit mehr als 260 Zeichen erstellen. Hat Microsoft diese Anwendungen nicht aktualisiert, um die Unicode-Versionen der Windows-APIs zu verwenden?
Templer
7
Leider unterliegt Windows Explorer unter Windows 7 x64 immer noch dieser Pfadbeschränkung. Dies erweckt den Eindruck, dass das gesamte Betriebssystem diese Grenze nicht überschritten hat, obwohl eigentlich nur der Windows Explorer nicht aktualisiert wurde, um mit längeren Pfaden zu arbeiten. Es ist möglich, dass ein Dateimanager eines Drittanbieters, der die neuesten APIs verwendet, dies umgeht. Ob ein Programm das Pfadlimit zu erreichen scheint, hängt letztendlich davon ab, ob dieses Programm die neuesten APIs unter Windows verwendet.
user1445967
2
Es geht nicht um "neuere" oder "ältere" APIs. Unterstützung für lange Wege erhalten Sie nur, wenn Sie explizit danach fragen, und Explorer tut dies nicht, vermutlich aus dem offensichtlichen Grund: Kompatibilität mit vorhandenen Anwendungen von Drittanbietern.
Harry Johnston
9
-1 - Ein Link zu einer möglichen Lösung ist immer willkommen. Fügen Sie jedoch einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist. Zitieren Sie immer den relevantesten Teil eines wichtigen Links, falls die Zielwebsite nicht erreichbar ist oder dauerhaft offline ist. meta.stackoverflow.com/tags/link-only-answers/info
Aaron Hall
20

Sie können dieses Limit umgehen, indem Sie bei Bedarf subst verwenden.

Joshua
quelle
1
Oder eine in Windows integrierte Robokopie
KAE
5
Sie sollten zeigen, wie und einen Link zu relevanten Dokumentationen bereitstellen. -1
Aaron Hall
3
Während ich abstimmte, stimme ich zu, dass ein Beispiel nützlich wäre: subst E: D:\TESTDATA\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1 Das brachte mich auf einen Pfad, der 500 Zeichen tief war. Der Grund für die ~ 1s ist die Art und Weise, wie der Explorer den Pfad formatiert hat.
Adam Marcionek
1
Eine ähnliche Lösung wäre die Verwendung von Junctions , entweder über eine Shell-Erweiterung oder über mklink. Beispiel:mklink /J C:\newdir C:\some\really\long\path\
Charles Grunwald
14

Problemumgehungen sind keine Lösungen, daher lautet die Antwort "Nein".

Hier finden Sie mögliche Lösungen: http://support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters

user1767754
quelle
1
Kernelemente von Windows, einschließlich Powershell, Windows Explorer Shell und Cmd-Dienstprogramme wie del, können immer noch keine Pfade mit mehr als 250 Zeichen verarbeiten. Keine Problemumgehung behebt die Tatsache, dass Microsoft-Kerntechnologien ab 2016 keine langen Pfade verarbeiten. Die kurze Antwort hier Bis Microsoft seine kollektiven Hintergründe in Gang bringt, können wir wenig tun.
Warren P.
4

@ Cort3z: Wenn das Problem weiterhin besteht, sollte dieser Hotfix: https://support.microsoft.com/en-us/kb/2891362 es lösen (von win7 sp1 bis 8.1).

ale.com
quelle
Dies ist eine großartige Lösung. Haben Sie nach der Verwendung Probleme gehabt?
Gabriel Fair
1

Ab Windows 10 Version 1607 wurde die Einschränkung durch Festlegen eines Registrierungsschlüssels aufgehoben

https://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx?f=255&MSPPError=-2147217396#maxpath

Chedabob
quelle
2
aber nicht in Windows 7?
Gumuruh
Es erscheint nicht vernünftig, dies tatsächlich abzulehnen, denn obwohl es die Frage nicht beantwortet, ist es wahrscheinlich für viele Menschen nützlich, die ähnliche Fragen haben.
mwfearnley
Es gibt jedoch andere Fragen zu Win10
mjs