Căile spre fișiere pot trece acum de 260 de caractere și în Windows 10


#1

Vezi articolul pe site https://www.wfl.ro/windows/tutoriale-windows/cai-fisiere-peste-260-caractere-windows-10/

Până acum, din diverse motive, dar mai ales din motive de compatibilitate cu software mai vechi, limita lungimii căii spre un fișier, împreună cu numele fișierului nu putea depăși 260 de caractere. Acest lucru se schimbă odată cu ultimul build Windows 10 Insider Preview.

Ce este o cale de fișier ?

[su_note note_color="#e7f7fb" radius="0"]Toate sistemele de fișiere din Windows folosesc modelul bazat pe fișiere și directoare pentru a accesa datele stocate. O cale spre un fișier este o valoare string prin care se indică locația în care sunt stocate datele.[/su_note]

[su_note note_color="#ffea66" radius="0"]Lungimea maximă a căii spre un fișier (cu tot cu numele acestuia) este o variabilă de sistem numită MAX_PATH, iar pentru sistemul de fișiere NTFS a avut maxim până acum maxim 260 de caractere.[/su_note]

În cele 260 de caractere intră litera unității de disc, două puncte, backslash-urile de separare ( ) și un caracter de încheiere nul.

De ce anume ține această limitare ?

Limitarea de 260 de caractere nu este a sistemului de fișiere ci a interefețelor de programare (API) mai vechi, folosite pentru accesarea de date. Sigur, există remedii alternative pentru această limitare, cum ar fi accesarea versiunilor Unicode ale funcțiilor API din Windows sau utilizarea prefixului \? pentru o cale.

Utilizatorii Windows care s-au întâlnit cu această limitare au observat că Windows Explorer nu permitea accesul la fișiere și foldere ale căror căi depășeau cele 260 de caractere, singura soluție nativă rămânând utilizarea symbolic links. Ca alternativă non-nativă, era posibilă utilizarea de software neafectat de aceste limitări, cum este Total Commander, de exemplu.

Microsoft permite acum administratorilor de sisteme eliminarea acestei limite

Shell-ul Explorer a avut această limitare pentru ani buni, dar acum Microsoft a făcut modificările necesare în vederea eliminării sale în Windows 10. Astfel, administratorii de sisteme au la dispoziție acum o nouă setare Group Policy, disponibilă începând cu Windows 10 build 14352. Aceasta permite sistemului de operare să accepte căi mai lungi de 260 de caractere:

Enabling NTFS long paths will allow manifested Win32 applications and Windows Store applications to access paths beyond the normal 260 char limit per node. Enabling this setting will cause the long paths to be accessible within the process. Activarea căilor NTFS lungi va permite aplicațiilor Win32 cu manifest și aplicațiilor din Magazinul Windows să acceseze căi mai lungi decât 260 de caractere. Activarea acestei setări va face ca aceste căi lungi să fie accesibile.

Aceasta înseamnă că o aplicație trebuie să aibă următorul rând de cod în manifestul XML asociat:

<longPathAware>true</longPathAware>

Pentru cei care nu știu, un fișier manifest este un document XML asociat unui executabil în care sunt declarate informații despre diverse compatibilități. Crearea unui fișier manifest pentru programul sau aplicația dumneavoastră prin care se declară compatibilitatea cu căile lungi de fișiere nu este suficientă, funcționalitatea trebuind activată în sistemul de operare prin politicile de sistem. Acest lucru se poate realiza fie prin Group Policy Editor (gpedit.msc) fie prin editarea unei valori din Registrul Windows.

1. Activați NTFS Long Paths în Windows 10 folosind Group Policy

1.1. Apăsați tastele Win + R simultan și apoi tastați:

gpedit.msc

și apăsați Enter pe tastatură. 1.2. În fereastra Group Policy Editor mergeți la Local Computer Policy --> Computer Configuration --> Administrative Templates --> System --> Filesystem --> NTFS.

1.3. Faceți dublu-click pe și activați Enable NTFS long paths.

1.4. Reporniți Windows 10.

2. Activați NTFS Long Paths în Windows 10 folosind Registrul Windows

2.1. Deschideți editorul Windows Registry (Win+R apoi tastați regedit și apăsați Enter). 2.2. Navigați la următoarea cheie din Registru:

HKEY_LOCAL_MACHINESystemCurrentControlSetPolicies

Dacă nu găsiți cheia menționată, creați-o acum. 2.3. În panoul din dreapta al editorului, creați o valoare nouă 32-bit DWORD și denumiți-o LongPathsEnabled. Setați valoarea 1.

Notă: Chiar dacă folosiți Windows pe 64 de biți, valoarea DWORD creată trebuie să fie 32-bit DWORD.

2.4. Reporniți Windows 10. Pentru cei interesați de eliminarea restricției de 260 de caractere în Windows 8.1 și în Windows 7, ea a fost rezolvată încă din 2013 prin hotfix-ul KB2891362.