ID članka: 320081 - Oglejte si izdelke, na katere se nanaša ta članek.
Razširi vse | Zmanjšaj

Na tej strani

UVOD

V članku je opisano, zakaj morda ne morete izbrisati datoteke ali mape na nosilcu z datotečnim sistemom NTFS in kako odpravite različne vzroke te težave.

DODATNE INFORMACIJE

Opomba Interno NTFS obravnava mape kot posebne vrste datotek. Zato se beseda »datoteka« v tem članku nanaša na datoteko ali mapo.

1. vzrok: Datoteka uporablja ACL

Datoteke morda ne morete izbrisati, če uporablja seznam nadzora dostopa (ACL). To težavo odpravite tako, da spremenite dovoljenja v datoteki. Morda morate prevzeti lastništvo nad datotekami, da lahko spremenite dovoljenja.

Skrbniki imajo izrecno možnost prevzemanja lastništva nad vsemi datotekami, tudi če jim niso jasno dodeljena dovoljenja v njih. Lastniki datotek imajo izrecno možnost spreminjanja dovoljenj datotek, tudi če jim niso jasno dodeljena dovoljenja v njih. Zato bostre morda morali prevzeti lastništvo nad datoteko, si dodeliti dovoljenja za brisanje te datoteke in jo izbrisati.

Prikaz ali spreminjanje dovoljenj ni mogoče z varnostnimi orodji, ker ima datoteka nekanoničen ACL

To težavo odpravite z drugim orodjem (npr. novejšo delovno različico orodja Cacls.exe).

Vnosi ACE v ACL-ju imajo določeno želeno zaporedje, odvisno od njihove vrste. Na primer vnosi ACE, ki preprečujejo dostop, so po navadi pred vnosi ACE, ki omogočajo dostop. Vendar nič ne more preprečiti programu, da bi zapisal ACL, ki ima enote ACE v poljubnem zaporedju. V nekaterih starejših različicah sistema Windows je do težave prišlo, ko je Microsoft Windows poskušal prebrati te »nekanonične« ACL-je. Včasih teh ACL-jev ne morete spremeniti pravilno z grafičnim urejevalnikom varnosti Microsoftovega Raziskovalca. Ta težava je v starejših različicah sistema Windows popravljena. Če prihaja do iste težave, uporabite najnovejšo različice orodja Cacls.exe. Tudi če ne morete prikazati ali urediti obstoječega ACL-ja, lahko zapišete nov ACL, ki vam omogoča pridobivanje dostopa do datoteke.

2. vzrok: Datoteka je v uporabi

Datoteke morda ne morete izbrisati, če jo kdo uporablja. To težavo odpravite tako, da poiščete proces, ki ima odprto datoteko, in ga zaprete.

Odvisno od tega, kako je datoteka odprta (npr. za ekskluziven dostop namesto dostopa v skupni rabi), morda ne morete izbrisati datoteke, ki je v uporabi. Procese, ki imajo odprte datoteke, lahko kadar koli poiščete z različnimi orodji. Če želite več informacij o orodjih za iskanje procesov, ki imajo odprte datoteke, kliknite spodnje številke člankov iz Microsoftove zbirke znanja:
242131 Kako prikazati seznam procesov, ki imajo odprte datoteke (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
172710 Uporaba orodja OH v kompletu Resource Kit za Windows NT 4.0 (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
Simptomi težave so lahko različni. Morda boste datoteko lahko izbrisali z ukazom Izbriši, vendar datoteka dejansko ni izbrisana, dokler je proces, v katerem je odprta, ne izpusti. Poleg tega morda ne boste mogli dostopati do pogovornega okna Varnost za datoteko, ki čaka na izbris. To težavo odpravite tako, da poiščete proces, ki ima odprto datoteko, in ga zaprete.

3. vzrok: Poškodba v datotečnem sistemu preprečuje dostop do datoteke

Datoteke morda ne boste mogli izbrisati, če je poškodovan datotečni sistem. To težavo odpravite tako, da zaženete pripomoček Chkdsk na nosilcu diska in odpravite napake.

Poškodovani sektorji na disku, druga nedelujoča strojna oprema ali napake strojne opreme lahko poškodujejo datotečni sistem in datoteke postavijo v problematično stanje. Običajne operacije so lahko na različne načine neuspešne. Ko datotečni sistem zazna poškodobo, zabeleži dogodek v dnevnik dogodkov in po navadi prejmete sporočilo, ki vas pozove, da zaženete Chkdsk. Odvisno od vrste poškodbe, Chkdsk morda lahko obnovi podatke iz datoteke ali ne; vendar Chkdsk vrne datotečni sistem v stabilno stanje. Če želite dodatne informacije o pripomočku Chkdsk, kliknite te številke člankov iz Microsoftove zbirke znanja:
176646 Sporočilo o napaki: Datoteka ali imenik je poškodovan ... (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
187941 Razlaga orodja CHKDSK in novih stikal /C in /I (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)

4. vzrok: Datoteke so na poteh, ki so globlje od znakov MAX_PATH

Morda ne boste mogli odpreti, urediti ali izbrisati datoteke, če je nastala težava s potjo datoteke.

1. rešitev: Do datoteke dostopajte z imenom 8.3, ki se samodejno ustvari

To težavo odpravite tako, da do datoteke dostopate z imenom 8.3, ki je samodejno ustvarjeno. Ta rešitev je morda najpreprostejša, če je pot globoko, saj so imena map predolga. Če je tudi pot 8.3 predolga ali če so imena 8.3 na nosilcu onemogočena, pojdite na 2. rešitev. Če želite več informacij o onemogočanju imen datotek 8.3 na nosilcih NTFS, kliknite to številko članka iz Microsoftove zbirke znanja:
121007 Kako onemogočite ustvarjanje imena 8.3 na particijah NTFS (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)

2. rešitev: Preimenujte ali premaknite globoko mapo

Preimenujte mapo tako, da ciljne datoteke, ki so globlje od MAX_PATH, ne obstajajo več. Če naredite to, začnite v korenski mapi (ali drugem priročnem mestu), in mape preimenujte tako, da bodo imele krajša imena. Če s tem ne odpravite težave (če je npr. datoteka globlja od 128 map), pojdite na 4. rešitev.

3. rešitev: Preslikajte pogon v mapo v strukturi poti

Preslikajte pogon v mapo znotraj strukture poti do ciljne datoteke ali mape. Tako se skrajša navidezna pot.

Recimo, npr., da imate pot s takšno strukturo:
\\ime_strežnika\ime_podmape1\ime_podmape2\ime_podmape3\ime_podmape4\...
V tej poti je skupno število znakov več kot 255. Dolžino te poti skrajšate na 73 znakov tako, da pogon preslikate v ime_podmape4.

4. rešitev: Uporabite omrežno sredstvo, ki je tako globoko kot mapa

Če 1., 2. in 3. rešitev niso ustrezne ali ne odpravijo težave, ustvarite omrežno sredstvo, ki je kar se da globoko v drevesu map, in preimenujte mape tako, da dostopate do omrežnega sredstva.

5. rešitev: Uporabite orodje za prečkanje globokih poti

V mnogih programih sistema Windows mora biti najdaljša pot krajša od 255 znakov. Zato ti programi dodelijo le toliko notranje shrambe za obravnavanje običajnih poti. V datotečnem sistemu NTFS ni te omejitve in lahko obravnava veliko daljše poti.

Do te težave lahko pride, če ustvarite omrežno sredstvo na določeni točki v strukturi map, ki je že dokaj globoko, nato pa s tem omrežnim sredstvom ustvarite globoko strukturo pod temi točkami. Nekatera orodja, ki delujejo lokalno v drevesu map, morda ne morejo prečkati celotnega drevesa od korena. Ta orodja uporabite na poseben način, da bodo lahko prečkala omrežno sredstvo. (V dokumentaciji API-ja CreateFile je opisan način za prečkanje celotnega dreveda v tem primeru.)

Po navadi lahko datoteke upravljate s programsko opremo, s katero so ustvarjene. Če imate program za ustvarjanje datotek, ki so globlje od MAX_PATH, po navadi lahko datoteke brišete ali upravljate s tem istim programom. Datoteke, ki so ustvarjene v nekem omrežnem sredstvu, lahko po navadi izbrišete s tem istim omrežnim sredstvom.

5. vzrok: Ime datoteke vsebuje rezervirano ime v imenskem prostoru Win32

Če ime datoteke vsebuje rezervirano ime (npr. »lpt1«) v imenskem prostoru Win32, morda ne boste mogli izbrisati datoteke. To težavo odpravite tako, da s programom, ki ni Win32, preimenujete datoteko. Datoteko lahko uporabljate z orodjem POSIX ali drugim orodjem, ki uporablja ustrezno notranjo skladnjo.

Poleg tega se lahko z nekaterimi vgrajenimi ukazi izognete običajnim preverjanjem rezerviranega imena za Win32, če za določanje poti datoteke uporabite določeno skladnjo. Če npr. uporabite ukaz Del v sistemu Windows XP, lahko datoteko z imenom »lpt1« izbrišete, če celotno pot do datoteke določite s to posebno skladnjo:
del \\?\c:\pot_do_datoteke\lpt1
Če želite več informacij o brisanju datotek z rezerviranimi imeni v sistemih Windows NT in Windows 2000, kliknite to številko članka iz Microsoftove zbirke znanja:
120716 Odstranjevanje datotek z rezerviranimi imeni v sistemu Windows (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
Če želite več informacij o brisanju datotek z rezerviranimi imeni v sistemu Windows XP, kliknite to številko članka iz Microsoftove zbirke znanja:
315226 Odstranjevanje datotek z rezerviranimi imeni v sistemu Windows XP (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
Če odprete ročico do datoteke z običajnim mehanizmom Win32 CreateFile, so določena imena datotek rezervirana za starejše naprave DOS. Za vzvratno združljivost ta imena datotek niso dovoljena in jih ni mogoče ustvariti s tipičnimi klici datotek Win32. Vendar ta težava ne obstaja v datotečnem sistemu NTFS.

S programom Win32 se lahko izognete običajnim preverjanjem imena, ko je datoteka ustvarjena (ali izbrisana), in sicer z isto tehniko kot za prečkanje map, ki so globlje od MAX_PATH. Poleg tega se v nekaterih orodjih POSIX ne izvajajo ta preverjanja imen.

6. vzrok: Ime datoteke vključuje neveljavno ime v imenskem prostoru Win32

Datoteke morda ne morete izbrisati, če njeno ime vključuje neveljavno ime (npr. v imenu datoteke je končni presledek ali končna pika ali je ime sestavljena le iz presledka). To težavo odpravite z orodjem, ki datoteko izbriše z ustrezno notranjo skladnjo. V nekaterih orodjih lahko te datoteke brišete s skladnjo »\\?\«, npr.:
del »\\?\c:\pot_do_datoteke_ki vsebuje končni presledek.txt «
Vzrok te težave je podoben 4. vzroku. Če pa datoteko, ki ima v imenu končne presledke ali pike, želite odpreti z običajno skladnjo Win32, so končni presledki ali pike odstranjeni, preden se datoteka odpre. Če imate torej v isti mapi datoteki z imenoma »Datoteka.txt« in »Datoteka.txt « (s presledkom za imenom datoteke) in poskusite odpreti drugon datoteko s standardnimi klici Win32, se odpre prva datoteka. In če imate datoteko z imenom » « (presledek) in jo poskusite odpreti s standardnimi klici Win32, se odpre njena nadrejena mapa. Če v tem primeru poskušate spremeniti varnostne nastavitve v teh datotekah, tega ne morete narediti ali pa nepričakovano spremenite nastavitve različnih datotek. Če pride do tega vedenja, lahko mislite, da imate dovoljenje do datoteke, ki ima dejansko omejen ACL.

Kombinacije vzrokov

Včasih je vzrok lahko skupek teh vzrokov, zaradi česar je postopek brisanja datoteke bolj zapleten. Če se npr. prijavite kot skrbnik računalnika, lahko naletite na združen 1. vzrok (nima dovoljenja za brisanje datoteke) in 5. vzrok (v imenu datoteke je končni znak, zaradi katerega je dostop do datoteke preusmerjen na drugo ali neobstoječo datoteko) in morda ne morete izbrisati datoteke. Če 1. vzrok poskusite rešiti tako, da prevzamete lastništvo nad datoteko in dodate dovoljenja, morda še vedno ne boste mogli izbrisati datoteke, ker urejevalnik ACL-ja v uporabniškem vmesniku ne more dostopati do ustrezne datoteke zaradi 6. vzroka.

V tem primeru uporabite pripomoček Subinacl s stikalom /onlyfile (pripomoček je vključen v kompletu Resource Kit) in spremenite lastništvo in dovoljenja v datoteki, ki sicer ni dostopna, npr.:
subinacl /onlyfile "\\?\c:\pot_do_datoteke_s_težavo" /setowner=domena\skrbnik /grant=domena\skrbnik=F
Opomba Ta ukaz je samo ena ukazna vrstica; prelomljen je zaradi lažje berljivosti.

S tem primerom ukazne vrstice se spremeni datoteka C:\pot_do_datoteke_s_težavo, v kateri je končni presledek, tako da je račun domena\skrbnik lastnik datoteke in ima popoln nadzor nad datoteko. Zdaj lahko datoteko izbrišete z ukazom Del z isto skladnjo »\\?\«.

SKLICI

Če želite več informacij, kliknite to številko članka iz Microsoftove zbirke znanja:
319368 Ko izbrišete mape iz vpetega pogona, se prikaže sporočilo o napaki »Dostop je zavrnjen« (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)

Lastnosti

ID članka: 320081 - Zadnji pregled: 3. december 2007 - Revizija: 7.3
VELJA ZA
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • 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 Edition
  • 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
Ključne besede: 
kbinfo kbfilesystems KB320081

Pošlji povratne informacije

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com