Situatie
Sistemele Windows gestionează căile lungi în mod fundamental diferit înainte și după anul 2016. Există o limită istorică de 260 de caractere (nu 259) pentru lungimea căilor de fișiere în Windows, cunoscută sub numele de MAX_PATH. Aceasta include litera unității (ex: C:\), urmată de foldere, numele fișierului și caracterul invizibil de terminare (null).
Restricția provine din standardele vechi de programare (API-ul Win32). Deși sistemul de fișiere NTFS poate suporta teoretic căi de până la 32.767 de caractere, multe aplicații Windows sunt construite folosind biblioteca standard care limitează orice cale la 260 de caractere pentru a asigura compatibilitatea cu software-ul mai vechi.
Solutie
Pasi de urmat
Începând cu Windows 10 (versiunea 1607), Microsoft a introdus o opțiune de a activa “Long Paths” (Căi Lungi). Aceasta nu este activată implicit.
Clasificarea Generațiilor de Server Windows
Sistemele Windows gestionează căile lungi în mod fundamental diferit înainte și după anul 2016.
| Categorie | Versiuni Server | Capacitate Nativă | Soluție Principală |
| Generația Nouă | 2016, 2019, 2022, 2025 | Suportă activarea LongPathsEnabled |
Politică de Grup (GPO) sau Registry |
| Generația Legacy | 2008, 2008 R2, 2012, 2012 R2 | Limită hardcoded în API-ul Win32 | Prefixul \\?\ sau scurtarea căii (subst) |
Soluția pentru Generația Nouă (Post-2016 / 2019 / 2022)
Pe aceste sisteme, nucleul Windows înțelege căile lungi, dar trebuie să îi dai permisiunea să le folosească.
Procedura Tehnică:
-
GPO:
Computer Configuration > Administrative Templates > System > Filesystem > Enable Win32 long paths. -
Registry:
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabledsetat pe1.
De ce este important: Această setare permite aplicațiilor moderne (care au un “manifest” compatibil) să acceseze fișiere peste 260 caractere fără a modifica codul aplicației.
Soluția pentru Generația Legacy (Pre-2016 / 2012 / 2008)
Pe Server 2012 sau 2008, nu există un comutator “On/Off” pentru această limită. Ea este impusă de modul în care sistemul de operare comunică cu fișierele prin API-ul standard.
Strategii de remediere (Workarounds):
-
Utilizarea Namespace-ului Unicode: În loc de
C:\Date\Fisier.txt, se utilizează prefixul\\?\C:\Date\Fisier.txt. Acesta instruiește Windows să trimită calea direct către driverul NTFS, sărind peste bariera de 260 de caractere a Win32. -
Maparea “Subst”: Dacă ai o cale de 300 de caractere, mapezi un subfolder ca unitate virtuală.
-
subst L: "C:\Folder_Foarte_Lung\Subfolder_Adanc" -
Acum accesezi fișierele prin
L:\, “păcălind” limita de caractere.
-
-
Utilizarea Robocopy: Este singurul utilitar nativ pe serverele vechi care știe să folosească automat prefixul Unicode pentru a copia fișiere pe care Windows Explorer nu le poate atinge.
Dacă implementezi această soluție, iată ce trebuie să certifici pentru a asigura funcționarea:
-
Serverul: Este configurat (dacă este post-2016)
-
Aplicația: Dacă este o aplicație veche (legacy), aceasta poate eșua chiar și pe Server 2022 dacă nu a fost actualizată să recunoască setarea de Long Path
-
Clientul (SMB): Dacă serverul este 2019, dar utilizatorul accesează fișierele de pe un Windows 7 prin rețea, utilizatorul va avea în continuare eroarea de limită.
Leave A Comment?