Momentan sunteți offline, așteptați să vă reconectați la internet

Nu este posibilă ştergerea unui fişier sau folder pe un volum cu sistemul de fişiere NTFS

Asistența pentru Windows XP s-a încheiat

Microsoft a încheiat asistența pentru Windows XP la data de 8 aprilie 2014. Această schimbare a afectat actualizările de software și opțiunile de securitate. Aflați ce înseamnă aceasta pentru dvs. și cum puteți rămâne protejat.

Asistența pentru Windows Server 2003 s-a încheiat la 14 iulie 2015

Microsoft a încheiat asistența pentru Windows Server 2003 14 iulie 2015. Această schimbare a afectat actualizările de software și opțiunile de securitate. Aflați ce înseamnă aceasta pentru dvs. și cum puteți rămâne protejat.

INTRODUCERE
Acest articol descrie de ce este posibil să nu se poată şterge un fişier sau un folder pe un volum cu sistemul de fişiere NTFS şi cum se abordează diferitele cauze pentru a rezolva această problemă.
INFORMAŢII SUPLIMENTARE
Notă Intern, NTFS tratează folderele ca un tip special de fişier. De aceea, cuvântul „fişier” din acest articol se referă şi la fişiere şi la foldere.

Cauza 1: Fişierul utilizează un ACL

Este posibil să nu se poată şterge un fişier dacă fişierul utilizează o listă de control al accesului (ACL). Pentru a rezolva această problemă, modificaţi permisiunile din fişier. Pentru a modifica permisiunile, poate fi necesar să preluaţi fişierele în proprietate.

Administratorii au capacitatea implicită de a prelua în proprietate orice fişier, chiar dacă nu li s-a acordat în mod expres permisiunea pentru acel fişier. Proprietarii de fişiere au capacitatea implicită de a modifica permisiunile de fişiere, chiar dacă nu li s-a acordat permisiunea în mod expres pentru acel fişier. De aceea, poate fi necesar să preluaţi în proprietate un fişier, să vă acordaţi permisiuni pentru ştergerea sa, apoi să-l ştergeţi.

Nu aveţi posibilitatea să utilizaţi anumite instrumente de securitate pentru a afişa sau a modifica permisiuni, deoarece fişierul are un ACL non-canonic

Pentru a rezolva această problemă, utilizaţi alt instrument (de exemplu, o compilare mai nouă a Cacls.exe).

ACE-urile (intrările de control al accesului) dintr-un ACL au o anumită ordine preferată, în funcţie de tipul lor. De exemplu, ACE-urile care refuză accesul se află de obicei înaintea ACE-urilor care acordă accesul. Însă, nu există nicio restricţie ca un program să scrie un ACL care are ACE-uri dispuse într-o ordine arbitrară. În anumite versiuni anterioare de Windows, se produceau probleme atunci când Microsoft Windows încerca să citească aceste ACL-uri „non-canonice”. Uneori, nu aveţi posibilitatea să modificaţi corect aceste ACL-uri utilizând editorul grafic de securitate Microsoft Windows Explorer. Problema a fost corectată în versiunile ulterioare de Windows. Dacă vă confruntaţi cu această problemă, utilizaţi cea mai recentă versiune de Cacls.exe. Chiar dacă nu aveţi posibilitatea să afişaţi sau să editaţi un ACL pe loc, aveţi posibilitatea să scrieţi un ACL nou, care vă permite să obţineţi acces la fişier.

Cauza 2: Fişierul este în uz

Este posibil ca un fişier în uz să nu poată fi şters. Pentru a rezolva această problemă, determinaţi care proces are un handle deschis, apoi închideţi procesul respectiv.

În funcţie de modul în care este deschis fişierul (de exemplu, este deschis pentru acces exclusiv în loc de acces partajat), este posibil ca fişierul în uz să nu poată fi şters. Oricând doriţi, aveţi posibilitatea să utilizaţi o varietate de instrumente pentru a vă ajuta să determinaţi care procese au handle-uri deschise cu fişiere.Pentru informaţii suplimentare privind instrumentele pentru găsirea proceselor care au deschise handle-uri către fişiere, faceţi clic pe următoarele numere de articole pentru a vedea articolele în Baza de cunoştinţe Microsoft:
242131 Cum se afişează o listă de procese care au fişiere deschise (articolul poate să fie în limba engleză)
172710 Cum se utilizează instrumentul OH în Windows NT 4.0 Resource Kit (articolul poate să fie în limba engleză)
Simptomele acestei probleme pot varia. Deşi este posibil să se utilizeze comanda Ştergere pentru a şterge un fişier, fişierul nu se va şterge efectiv până când procesul care are fişierul deschis nu eliberează fişierul. În plus, poate fi imposibil să se acceseze caseta de dialog Securitate pentru un fişier care este în aşteptare pentru ştergere. Pentru a rezolva această problemă, determinaţi care proces are deschis un handle, apoi închideţi acel proces.

Cauza 3: Deteriorarea sistemului de fişiere împiedică accesul la fişier

Ştergerea fişierului poate fi imposibilă în cazul în care sistemul de fişiere este deteriorat. Pentru a rezolva această problemă, executaţi utilitarul Chkdsk pe volumul de disc şi corectaţi orice erori.

Sectoarele deteriorate de pe disc, alte componente hardware cu erori sau erorile de software pot deteriora sistemul de fişiere şi pot pune fişierele într-o stare problematică. Operaţiunile obişnuite pot să nu reuşească în mai multe moduri. Când sistemul de fişiere detectează elemente deteriorate, înregistrează un eveniment în jurnalul de evenimente, iar dvs. primiţi de obicei un mesaj care vă solicită să executaţi Chkdsk. În funcţie de natura deteriorării, este posibil ca Chkdsk să nu poată recupera datele de fişier; însă, Chkdsk restabileşte sistemul de fişiere la o stare de consistenţă internă. Pentru informaţii suplimentare despre utilizarea utilitarului Chkdsk, faceţi clic pe următoarele numere de articole pentru a vedea articolele în Baza de cunoştinţe Microsoft:
176646 Mesaj de eroare: The file or directory is corrupt... (articolul poate să fie în limba engleză)
187941 O descriere a CHKDSK şi a argumentelor noi /C şi /I (articolul poate să fie în limba engleză)

Cauza 4: Fişierele se află în căi ce depăşesc numărul maxim de caractere MAX_PATH

Poate fi imposibil să se deschidă, editeze sau să se şteargă un fişier dacă există probleme cu calea de fişier.

Rezolvarea 1: Utilizaţi un nume auto-generat 8.3 pentru a accesa fişierul

Pentru a rezolva această problemă, utilizaţi numele auto-generat 8.3 pentru a accesa fişierul. Această rezolvare poate fi cea mai simplă, în cazul în care calea este adâncă din cauza numelor de foldere prea lungi. În cazul în care calea 8.3 este şi ea prea lungă sau dacă numele 8.3 au fost dezactivate pe volum, treceţi la Rezolvarea 2. Pentru informaţii suplimentare despre dezactivarea numelor de fişiere 8.3 pe volumele NTFS, faceţi clic pe următorul număr de articol pentru a-l vedea în Baza de cunoştinţe Microsoft:
121007 Cum se dezactivează crearea de nume 8.3 pe partiţiile NTFS (articolul poate să fie în limba engleză)

Rezolvarea 2: Redenumiţi sau mutaţi un folder aflat în adâncime

Redenumiţi folderul pentru ca fişierele ţintă care sunt dincolo de limita MAX_PATH să nu mai existe. Dacă faceţi aceasta, porniţi de la folderul rădăcină (sau orice alt loc convenabil), apoi redenumiţi folderele pentru a avea nume mai scurte. Dacă acest pas nu rezolvă problema (de exemplu, dacă un fişier este mai departe de 128 de foldere), treceţi la Rezolvarea 4

Rezolvarea 3: Mapaţi o unitate la un folder din structura căii

Mapaţi o unitate la un folder din structura căii fişierului sau folderului ţintă. Această metodă scurtează calea virtuală.

De exemplu, să presupunem că aveţi o cale care este structurată după cum urmează:
\\NumeServer\NumeSubfolder1\NumeSubfolder2\NumeSubfolder3\NumeSubfolder4\...
În această cale, numărul total de caractere este mai mare decât 255. Pentru a scurta lungimea căii la 73 de caractere, mapaţi o unitate la NumeSubfolder4.

Rezolvarea 4: Utilizaţi o partajare de reţea care are aceeaşi adâncime ca folderul

Dacă rezolvările 1, 2 şi 3 nu sunt convenabile sau nu rezolvă problema, creaţi o partajare de reţea cu adâncime cât mai mare în arborele folderului, apoi redenumiţi folderele accesând partajarea.

Rezolvarea 5: Utilizaţi un instrument care poate parcurge căile adânci

Multe programe Windows se aşteaptă ca lungimea maximă de cale să fie mai mică de 255 de caractere. De aceea, aceste programe nu alocă mai mult spaţiu intern de stocare decât cel necesar pentru gestionarea acestor căi obişnuite. NTFS nu are această limită şi poate reţine căi mult mai lungi.

Această problemă poate apărea în cazul în care creaţi la un moment dat o partajare în structura deja destul de adâncă a folderului, apoi creaţi o structură adâncă sub acele puncte, utilizând partajarea. Este posibil ca anumite instrumente care operează local cu arborele folderului să nu poată parcurge întreg arborele începând de la rădăcină. Poate fi necesară utilizarea acestor instrumente într-un mod special, astfel încât să fie posibilă parcurgerea partajării. (Documentaţia API CreateFile descrie o metodă de parcurgere completă a arborelui în această situaţie.)

De obicei, aveţi posibilitatea să gestionaţi fişiere utilizând software-ul care le creează. Dacă aveţi un program care poate crea fişiere mai adânci decât MAX_PATH, aveţi de obicei posibilitatea să utilizaţi acelaşi program pentru a şterge sau gestiona fişierele. Fişiere care sunt create pe o partajare se pot şterge, de obicei, utilizând aceeaşi partajare.

Cauza 5: Numele fişierului include un nume rezervat în spaţiul de nume Win32

Dacă numele de fişier include un nume rezervat în spaţiul de nume Win32 (de exemplu, „lpt1”), este posibil să nu se poată şterge fişierul. Pentru a rezolva această problemă, utilizaţi un program non-Win32 pentru a redenumi fişierul. Aveţi posibilitatea să utilizaţi un instrument POSIX sau orice alt instrument care utilizează sintaxa internă potrivită pentru a utiliza fişierul.

În plus, există posibilitatea să utilizaţi anumite comenzi încorporate pentru a ocoli verificările de nume tipice rezervate Win32, dacă utilizaţi o sintaxă specifică pentru a preciza calea fişierului. De exemplu, dacă utilizaţi comanda Del în Windows XP, aveţi posibilitatea să ştergeţi un fişier denumit „lpt1” dacă specificaţi calea completă a fişierului utilizând următoarea sintaxă specială:
del \\?\c:\calea_fişierului\lpt1
Pentru informaţii suplimentare despre ştergerea fişierelor cu nume rezervate sub Windows NT şi Windows 2000, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
120716 Cum se elimină fişierele cu nume rezervate în Windows (articolul poate să fie în limba engleză)
Pentru informaţii suplimentare despre ştergerea fişierelor cu nume rezervate sub Windows XP, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
315226 Cum se elimină fişierele cu nume rezervate în Windows XP (articolul poate să fie în limba engleză)
Dacă deschideţi un handle către un fişier utilizând mecanismul tipic CreateFile Win32, anumite nume de fişiere sunt rezervate pentru dispozitivele DOS de tip vechi. Pentru compatibilitate inversă, aceste nume de fişiere nu sunt permise şi nu se pot crea utilizând apelări de fişier tipice Wind32. Însă, această problemă nu este o limitare pentru NTFS.

Un program Win32 poate fi utilizat pentru a ocoli anumite verificări de nume tipice care se efectuează când se creează (sau se şterge) un fişier, folosind aceeaşi tehnică care se utilizează pentru a parcurge foldere care sunt mai adânci decât MAX_PATH. În plus, anumite instrumente POSIX nu sunt subiectul acestor verificări de nume.

Cauza 6: Numele de fişier include un nume nevalid din spaţiul de nume Win32

Ştergerea unui fişier poate fi imposibilă dacă numele de fişier include un nume nevalid (de exemplu, numele de fişier are la final un spaţiu sau un punct sau numele fişierului este format dintr-un singur spaţiu). Pentru a rezolva această problemă, utilizaţi un instrument care utilizează sintaxa internă potrivită pentru a şterge fişierul. Aveţi posibilitatea să utilizaţi sintaxa „\\?\” cu anumite instrumente pentru a efectua operaţiuni asupra acestor fişiere, de exemplu:
del „\\?\c:\cale_către_fişierul care conţine un spaţiu la final.txt
Cauza acestei probleme este similară cu cauza 4. Însă, dacă utilizaţi sintaxă tipică Win32 pentru a deschide un fişier care are spaţii sau puncte la finalul numelui său, acestea sunt eliminate înainte să se deschidă fişierul în sine. De aceea, dacă aveţi două fişiere în acelaşi folder denumite „UnFişier.txt” şi „UnFişier.txt ” (observaţi spaţiul aflat după numele fişierului), dacă încercaţi să deschideţi al doilea fişier utilizând apelări standard Win32, veţi deschide în schimb primul fişier. În mod similar, dacă aveţi un fişier al cărui nume este doar „ ” (un caracter spaţiu) şi încercaţi să-l deschideţi utilizând apelări Win32 standard, se va deschide în schimb folderul părinte al fişierului. În această situaţie, dacă încercaţi să modificaţi setările de securitate pentru aceste fişiere, atunci este posibil să nu reuşiţi să efectuaţi aceasta sau să modificaţi în mod neaşteptat setările pentru fişiere diferite. Dacă se produce acest comportament, este posibil să credeţi că deţineţi permisiuni pentru un fişier care are de fapt un ACL restrictiv.

Combinaţii de cauze

Uneori, este posibil să se manifeste combinaţii ale acestor cauze, care pot face mai complexă procedura de ştergere a unui fişier. De exemplu, dacă faceţi Log on ca administrator al computerului, este posibil să experimentaţi o combinaţie între Cauza 1 (nu aveţi permisiunea de a şterge un fişier) şi Cauza 5 (numele fişierului conţine un caracter la final care determină ca accesările fişierului să fie redirecţionate către un fişier diferit sau care nu există), şi astfel să nu aveţi posibilitatea să ştergeţi fişierul. Dacă încercaţi să rezolvaţi Cauza 1 preluând în proprietate fişierul şi adăugând permisiuni, ştergerea fişierului poate fi în continuare imposibilă, deoarece editorul ACL din interfaţa cu utilizatorul nu poate să acceseze fişierul potrivit ca urmare a Cauzei 6.

În această situaţie, aveţi posibilitatea să utilizaţi utilitarul Subinacl cu argumentul /onlyfile (acest utilitar este inclus în Resource Kit) pentru a modifica proprietarul şi permisiunile pentru un fişier care este altfel inaccesibil, cum ar fi:
subinacl /onlyfile "\\?\c:\cale_către_fişierul problemă" /setowner=domeniu\administrator /grant=domeniu\administrator=F
Notă Această comandă este o singură linie şi a fost pusă pe mai multe linii pentru a fi citită mai uşor.

Această mostră de linie de comandă modifică fişierul C:\cale_către_fişierul problemă care conţine un spaţiu la final astfel încât contul domeniu\administrator să fie proprietarul fişierului şi să aibă control complet asupra fişierului. Acum, aveţi posibilitatea să ştergeţi acest fişier utilizând comanda Del cu aceeaşi sintaxă „\\?\”.
REFERINŢE
Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a-l vedea în Baza de cunoştinţe Microsoft:
319368 Primiţi un mesaj de eroare „Access Denied” când ştergeţi foldere de pe o unitate montată (articolul poate să fie în limba engleză)
Proprietăți

ID articol: 320081 - Ultima examinare: 12/03/2007 07:19:00 - Revizie: 7.3

Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows Small Business Server 2003 Premium Edition, Microsoft Windows Small Business Server 2003 Standard Edition, Microsoft Windows XP Professional, Microsoft Windows XP Home Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Datacenter Server, Microsoft Windows Advanced Server, Limited Edition, Microsoft Windows Datacenter Server Limited Edition

  • kbinfo kbfilesystems KB320081
Feedback