Cum să remediați problema ‘Filename Is Too Long’ în Windows

Dacă ați văzut vreodată această problemă, probabil că a fost o rezolvare simplă pentru dumneavoastră. Dacă ați văzut această eroare de mai mult de două ori, atunci știți, de asemenea, că poate fi o problemă complexă de rezolvat uneori.

Să sperăm că vă confruntați doar cu varietatea de rezolvare ușoară, dar vă vom pregăti și pentru rezolvările mai puțin ușoare, cu funcționare garantată.

De ce este lungimea numelui de fișier chiar o problemă în Windows?

Există o lungă istorie a lungimii numelor de fișiere care reprezintă o problemă pentru sisteme de operare precum Windows. A fost o vreme când nu puteai avea nume de fișiere mai lungi de 8 caractere plus o extensie de fișier de 3 caractere. Cel mai bun lucru pe care îl puteai face era ceva de genul myresume.doc. Aceasta a fost o restricție instituită prin proiectarea sistemului de fișiere.

Lucrurile s-au îmbunătățit pe măsură ce au apărut noi versiuni de Windows. Am trecut de la un sistem de fișiere vechi, limitat, la ceva numit New Technology File System (NTFS). NTFS ne-a dus la un punct în care un nume de fișier putea avea 255 de caractere, iar lungimea căii de acces la fișier putea ajunge potențial până la 32.767 de caractere. Deci, cum este posibil să avem nume de fișiere prea lungi?

Windows are lucruri cunoscute sub numele de variabile de sistem. Acestea sunt variabile pe care Windows se bazează pentru a funcționa, deoarece Windows va ști întotdeauna ce înseamnă variabilele și unde se află acestea, chiar și atunci când mutăm biți și octeți peste tot. Variabila de sistem MAX_PATH este cea care restricționează numele de fișiere și căile de acces la fișiere la mai puțin de 260 de caractere.

Fiind o variabilă, ați crede că am putea să o modificăm. Nu, nu ar trebui să facem acest lucru. Ar fi ca și cum am trage un fir de ață dintr-un pulover. De îndată ce se schimbă o variabilă de sistem, alte variabile de sistem și componentele care depind de ele încep să se descâlcească.

Cum o reparăm, atunci?

Repararea ușoară

Dacă sunteți norocoși, veți primi eroarea și veți ști exact ce nume de fișier cauzează problema. Sau cel puțin unde să găsiți fișierul. Poate că aveți un nume de fișier care arată cam așa:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Este evident cine este infractorul în acest caz. Găsiți fișierul în Windows Explorer, sau File Explorer, așa cum se numește în Windows 10, faceți clic o dată pe el, apăsați F2 pentru a-l redenumi și schimbați acel nume de fișier stupid în ceva mai rezonabil. Problemă rezolvată.

Reparații mai puțin ușoare

Nu este întotdeauna atât de ușor să rezolvi această problemă. Uneori este posibil să nu puteți schimba numele fișierelor sau directoarelor din orice motiv.

Următoarele soluții vă vor rezolva problema. Ele nu sunt greu de făcut.

Mutarea, ștergerea sau copierea fișierelor sau directoarelor folosind PowerShell

Câteodată primiți o eroare atunci când încercați să mutați, ștergeți sau copiați directoare în cazul în care numărul de caractere pentru calea fișierului este mai mare de 260.

Rețineți că cuvintele director și folder sunt interschimbabile. Vom folosi „director” în continuare. Următoarele cmdlet-uri PowerShell pot fi, de asemenea, utilizate pentru fișiere.

Poate calea fișierului arată cam așa:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Ca acea cale de fișier are 280 de caractere. Deci nu putem copia directorul de acolo în altă parte cu metoda normală de copy-paste. Primim eroarea Destination Path Too Long.

Să presupunem că, dintr-un motiv oarecare, nu putem redenumi directoarele în care este imbricate fișierul. Ce facem?

Deschidem PowerShell. Dacă nu ați folosit încă PowerShell, citiți articolul nostru Using PowerShell for Home Users – A Beginner’s Guide (Utilizarea PowerShell pentru utilizatorii casnici – Ghid pentru începători). Puteți face următorii pași fără să citiți articolul, totuși.

Când se deschide PowerShell, vă veți afla la rădăcina directorului dumneavoastră de utilizator. Urmați cursul presupunând că C:\Users\guymc este directorul dvs. de utilizator.

Directorul numit Acesta este în interiorul directorului Documente. Pentru a ne muta în directorul Documents, folosim comanda DOS cd Documents.

Vă veți vedea că promptul se schimbă în C:\Users\guymc\Documents. Asta este bine. Lucrăm mai aproape de directoare, ceea ce va face lucrurile mai ușoare.

Copie Directory Using Copy-Item

Vrem să copiem directorul This și conținutul său în ThatNewFolder. Să folosim cmdlet-ul PowerShell Copy-Item cu parametrii -Destination și -Recurse.

-Destinația îi spune lui PowerShell unde dorim să fie efectuată copia. -Recurse îi spune lui PowerShell să copieze toate elementele din interior la destinație. Copierea lasă originalele acolo unde sunt și face toate cele noi în destinație.

Copy-Item This -Destination ThatNewFolder -Recurse

Move Directory Using Move-Item

Să spunem că vrem să mutăm directorul This, și toate directoarele și fișierele din el, în ThatNewFolder. Mutarea nu lasă originalul pe loc.

Potem folosi cmdlet-ul PowerShell Move-Item cu parametrii -Path și -Destination. -Path definește elementul pe care dorim să îl mutăm, iar -Destination îi spune lui PowerShell unde dorim să îl mutăm.

Ccmdlet-ul va pune This în interiorul lui ThatNewFolder. De asemenea, va muta tot ceea ce se află în interiorul directorului This. Move-Item poate fi folosit pentru a muta fișiere sau directoare și funcționează indiferent de calea fișierului sau de lungimea numelui de fișier.

Move-Item -Path This -Destination ThatNewFolder

Pentru a vă asigura că a funcționat, folosiți comanda cd ThatNewFolder pentru a intra în ThatNewFolder. Apoi folosiți comanda dir pentru a lista directoarele din ThatNewFolder. Veți vedea că directorul This se află acolo.

Delete Directory Using Remove-Item

Dacă vrem să ștergem directorul This și tot ce se află în el, folosim cmdlet-ul Remove-Item.

Ccmdlet Remove-Item are o anumită siguranță încorporată care face dificilă ștergerea unui director cu lucruri în interiorul acestuia. În exemplul nostru, știm că vrem să ștergem totul, așa că vom folosi parametrii -Recurse pentru a-l face să șteargă tot ce se află înăuntru și -Force pentru a-l face să facă asta fără să ne întrebe dacă suntem siguri pentru fiecare element dinăuntru.

Atenție! Recuperarea oricărui lucru șters în acest mod ar fi extrem de dificilă. Puteți încerca metodele din How to Recover Accidentally Deleted Files, dar nu vă așteptați la mare lucru.

Remove-Item This -Recurse -Force

Puteți folosi din nou comanda dir pentru a vă asigura că a dispărut.

Faceți ca Windows 10 să accepte căile lungi de fișiere

Dacă știți că veți folosi în mod repetat căi lungi de fișiere și nume de fișiere lungi, este mai ușor să faceți ca Windows să lucreze pentru dumneavoastră. Nu are sens să folosiți PowerShell pentru a face această muncă în fiecare zi.

Există două moduri în care putem face acest lucru. Unul este pentru utilizatorii de Windows 10 Home și celălalt este pentru utilizatorii de Windows 10 Pro sau Enterprise. Este posibil ca aceste metode să funcționeze pentru Windows 8.1 sau mai devreme, dar nu putem garanta acest lucru.

Faceți ca Windows 10 Home să accepte căi lungi de fișiere

Pentru a face ca Windows 10 Home să accepte căi lungi de fișiere, trebuie să deschidem Editorul de registru. Dacă nu ați mai lucrat în Registry Editor înainte, fiți precauți. Ștergerea sau modificarea din greșeală a unor lucruri de aici poate opri complet funcționarea Windows-ului.

Realizați întotdeauna o copie de rezervă a registrului înainte de a face orice modificare. Aflați tot ce trebuie să știți despre asta în Ghidul nostru suprem pentru salvarea și restaurarea registrului Windows.

După ce ați deschis Registry Editor și v-ați făcut copia de siguranță, navigați la locația HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem și găsiți cheia LongPathsEnabled.

Click dublu pe LongPathsEnabled. În câmpul Value data:, asigurați-vă că acolo se află numărul 1. Faceți clic pe OK pentru a confirma modificarea.

Ieșiți din Registry Editor și ar trebui să puteți lucra acum cu căi de fișiere nebunește de lungi.

Faceți ca Windows 10 Pro sau Enterprise să accepte căi de fișiere lungi

Pentru a permite ca Windows 10 Pro sau Enterprise să folosească căi de fișiere lungi, vom folosi Group Policy Editor. Acesta este un instrument care ne permite să stabilim politici privind modul în care funcționează Windows la nivel de computer și utilizator.

Avem mai multe articole despre utilizarea politicii de grup pentru a face lucruri precum dezactivarea sau activarea opțiunilor Internet Explorer sau adăugarea unui mesaj pe ecranul de logare.

Deschideți Editorul de politici de grup mergând în meniul Start și tastând gpedit. Rezultatul de sus ar trebui să fie Edit group policy. Faceți dublu clic pe acesta.

După ce se deschide Editorul de politici de grup, navigați la Computer Configuration > Administrative Templates > System > Filesystem. Acolo veți vedea politica Enable Win32 long paths.

Click dublu pe ea pentru a edita setarea politicii. Modificați-o din Disabled (Dezactivat) în Enabled (Activat), apoi faceți clic pe butonul OK pentru a confirma modificarea.

Este posibil ca politica să nu intre în vigoare imediat. Cu toate acestea, puteți forța politica de grup să se actualizeze.

Așa este

Există și alte modalități de a rezolva problema numelor lungi de fișiere și a căilor de acces la fișiere, dar cele pe care le-am parcurs aici sunt cele mai simple și mai eficiente metode.

Lasă un răspuns

Adresa ta de email nu va fi publicată.