Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem

Nu este nici un secret faptul că Windows Explorer, la fel ca cele mai multe alte aplicații bazate pe Windows, inclusiv PowerShell, nu știu cum să lucreze cu obiecte de sistem de fișiere cu sub-dosare profunde, lungimea drumului, care este mai mare de 260 de caractere. Mai mult decât atât, există această restricție doar la nivel de aplicație, și ea sistemul de fișiere NTFS suportă căi de fișiere de până la 32767 de caractere.


Această limitare este impusă de bibliotecă Win32 API. și în care lungimea maximă de cale este de 260 de caractere (MAX_PATH = 260). In general, calea formată din următoarele elemente: [C: \] + [put_iz_256_simvolov] + []. iar lungimea maximă a unui director / fișier în NTFS - 255 de caractere Unicode. Atunci când se utilizează funcții API Unicode pot folosi calea 32767 de caractere. Din acest motiv, multe programe terțe (aceleași manageri de fișiere populare, cum ar fi FAR și Total Commander), fără nici o dificultate de a procesa fișierele / dosarele la lungimea traseului care depășește 260 de caractere.

Consiliul. În jurul acestei limitări Win32 API și de a lucra cu nume de fișiere lungi se poate datora utilizării formatului UNC-un fel, indicând calea absolută către fișierul utilizând prefixul calea lungime extinsă \\? \. De exemplu, deoarece \\ \ C :? \ SomeLongPath \ LongNameFile.txt

Această restricție nu se aplică nici în cazul în care accesul la rețea a utilizatorului la fișierele de protocolul SMB (în detrimentul structurii catalog cu trasee lungi adesea menționată ca servere de fișiere cu datele de utilizator). Administratorii acest server nu poate fi printr-o interfață standard Explorer Windows Explorer pentru a gestiona (șterge / mutare) fișiere cu trasee lungi. Când încercarea de a crea / copia un fișier într-un director, apare o eroare:

Destinație Calea este prea lung. Numele fișierului (e) ar fi prea lung pentru dosarul de destinație. Puteți scurta numele fișierului și încercați din nou, sau încercați o locație care are o cale scurtă,

Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem

Alte programe / dialoguri pot raporta prezența limitărilor lor.

În acest articol vă vom arăta cum în Windows, aveți posibilitatea să lucrați cu fișiere, calea pentru care mai mult de 260 de caractere. În acest caz, sarcina noastră - șterge un director care conține fișiere cu o lungime de cale mare.

eroare se produce atunci când încercați să ștergeți un director din Windows Explorer:

Numele fișierului (e) ar fi prea lung pentru dosarul de destinație. Puteți scurta numele fișierului și încercați din nou, sau încercați o locație care are o cale de al scurta.

Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem

Remove-Articol. Calea specificată, un nume de fișier, sau ambele sunt prea lungi. Complet calificat Numele fișierului trebuie să fie mai mică de 260
caractere, iar numele directorului trebuie să fie mai mică de 248 de caractere.
La linia: 1 char: 1
+ Remove-Articol. \ Verylongpath -Recurse
+


+ CategoryInfo. WriteError: (C: \ Install \ MS S. l \ verylongpath: String) [Remove-Item], PathTooLongExcepti
pe
+ FullyQualifiedErrorId. RemoveItemIOError, Microsoft.PowerShell.Commands.RemoveItemCommand

Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem

Cea mai simplă opțiune (este, de fapt, a sugerat în fereastra de eroare) - scurtați numele dosarele părinte, reducând lungimea căii totală (dar nu întotdeauna este cazul).

O altă opțiune - pentru a crea o legătură simbolică la partea a drumului, reducând astfel lungimea totală a căii:

Un alt exemplu de realizare seamănă lucrul cu link-ul simbolic - compara dosarul problematic disc virtual (în acest exemplu, X :), prin aceasta reducând, de asemenea, lungimea traseului:

Acum puteți lucra cu datele de pe căile de fișiere pe disc X. care nu va depăși limita. După muncă, puteți șterge unitatea virtuală:

Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem
Pentru a șterge un fișier cu o lungime de cale de 260 de caractere, ferestre pentru administratorii de sistem

Deci, astăzi am arătat câteva trucuri simple pe care le puteți utiliza atunci când se lucrează cu foldere pe serverele de fișiere care conțin lungimea traseului dosar care depășește limita de 260 de caractere.