Lange Pfade in Windows

Schon vor ein paar Jahren hatte ich einen Post welcher sich mit langen Pfaden und deren Löschung über Robocopy beschäftigt hatte. Lange Pfade stellen einen Admin aber nicht nur beim Löschen sonder auch z.B. bei der Änderung von ACLs vor Probleme. Hier hilft dann der Umweg über die Windows API, z.B. mit icacls.

icacls "\\?\H:\Shares\verzeichnis1\00_B....t" /grant users:(m) /t /c /q /inheritance:e

Hier noch ein wenig Hintergrund zu der Problematik.

Windows hat immer noch eine Begrenzung von maximal 260 Zeichen im Pfad:

D:\some 256-character path string<NUL>

“D:\” = 3-character; 256-character; NUL = 1-character ergibt 260-character string

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

Die Verwendnug der Windows API hingegen ermöglicht die Verarbeitung von bis zu 32767 Zeichen langen Pfaden, wie oben im Beispiel mit icacls dargestellt.

Enjoy it, b!