Det er ikke muligt at slette en fil eller mappe på en diskenhed, der bruger NTFS-filsystemet

Oversættelser af artikler Oversættelser af artikler
Artikel-id: 320081 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

INTRODUKTION

Artiklen indeholder en beskrivelse af, hvorfor det muligvis ikke er muligt at slette en fil eller en mappe på en diskenhed, som bruger NTFS-filsystemet, og indeholder samtidig anbefalinger til, hvordan disse problemer kan løses.

Yderligere Information

Bemærk! Internt i NTFS-filsystemet behandles mapper som en særlig type filer. Begrebet "fil" i denne artikel betegner derfor enten en fil eller en mappe.

Årsag 1: Filen bruger en ACL-liste

Du kan muligvis ikke slette en fil, hvis filen bruger en ACL-liste (Access Control List). Du kan løse dette problem ved at ændre tilladelserne til filen. Det er muligvis nødvendigt at overtage ejerskabet af filen, før du har adgang til at ændre de tilhørende tilladelser.

Administratorer har implicit mulighed for at overtage ejerskabet af alle filer, også selvom de ikke eksplicit har fået tildelt nogen tilladelse til filen. Tilsvarende har ejerne af filen implicit adgang til at ændre tilladelserne til filen, også selvom de ikke udtrykkeligt er tildelt nogen rettigheder til filen. Det betyder, at du muligvis har behov for at overtage ejerskabet af en fil, tildele dig selv tilladelse til at slette filen og derefter slette filen.

Du kan ikke få vist eller ændre tilladelser ved hjælp af bestemte sikkerhedsværktøjer, fordi filen har en ikke-vedtaget ACL-liste

Du kan løse dette problem ved at bruge et andet værktøj (f.eks. en nyere build af Cacls.exe).

ACE-posterne (Access Control Entries) i en ACL-liste har en bestemt foretrukket rækkefølge, afhængig af posternes type. ACE-poster, som nægter adgang, kommer f.eks. typisk før ACE-poster, der tillader adgang. Det er dog til enhver tid muligt for et program at skrive en ACL-liste med ACE-poster i vilkårlig rækkefølge. I visse tidligere versioner af Windows, opstod der problemer, når Microsoft Windows forsøgte at læse disse "ikke-vedtagne" ACL-lister. Det er nogle gange ikke muligt at redigere disse ACL-lister korrekt ved hjælp af den grafiske sikkerhedseditor i Windows Stifinder. Dette problem er blevet rettet i nyere versioner af Windows. Hvis du oplever problemet, skal du bruge den nyeste version af Cacls.exe. Selvom du ikke kan få vist eller redigere en ACL-liste på den nuværende placering, kan du skrive en ny ACL-liste, som giver dig adgang til filen.

Årsag 2: Filen er i brug

Du har muligvis ikke adgang til at slette en fil, hvis filen er i brug. Du kan løse dette problem ved at finde ud af, hvilken proces der bruger filen, og derefter afslutte denne proces.

Afhængig af, hvordan filen er åbnet (f.eks. udelt adgang over for delt adgang), har du muligvis ikke adgang til at slette en fil, der er i brug. Der findes en række værktøjer, du til enhver tid kan bruge til at finde ud af, hvilke processer der har åbne filhandles. Du kan få flere oplysninger om, hvilke værktøjer der kan bruges i forbindelse med processer, som har åbne filhandles, ved at klikke på nedenstående artikelnumre for at få vist artiklerne i Microsoft Knowledge Base:
242131 Sådan får du vist en liste over processer, som har åbne filer. Artiklen er evt. på engelsk.
172710 Sådan bruges OH-værktøjet i Windows NT 4.0 Resource Kit. Artiklen er evt. på engelsk.
Symptomerne på problemet varierer. Du har muligvis adgang til at slette en fil ved hjælp af kommandoen Delete, men den faktiske sletning af filen finder først sted, når filen frigives af den proces, der bruger filen. Tilsvarende kan du muligvis ikke få adgang til dialogboksen Sikkerhed for en fil, der venter på at blive slettet. Du kan løse dette problem ved at finde ud af, hvilken proces der bruger filen, og derefter afslutte denne proces.

Årsag 3: Filsystemet er beskadiget, så det er ikke muligt at få adgang til filen

Du har muligvis ikke adgang til at slette en fil, hvis filsystemet er beskadiget. Du kan løse dette problem ved at rette eventuelle fejl på diskenheden ved hjælp af hjælpeværktøjet Chkdsk.

Beskadigede sektorer på disken, defekt hardware eller softwarefejl kan medføre skader på filsystemet og anbringe filerne i en problematisk tilstand. Det betyder, at der kan opstå fejl i forbindelse med en række almindelige handlinger. Når skaden registreres i filsystemet, registreres der en hændelse i logfilen, og der vises typisk en meddelelse om, at du skal køre Chkdsk. Afhængig af, hvilken type beskadigelse der er tale om, er det muligvis muligt at genoprette fildata ved hjælp af Chkdsk, idet Chkdsk genopretter filsystemet i en tilstand med intern konsistens. Du kan finde flere oplysninger om, hvordan du bruger hjælpeværktøjet Chkdsk, ved at klikke på nedenstående artikelnumre for at få vist artiklerne i Microsoft Knowledge Base:
176646 Fejlmeddelelse: Filen eller mappen er beskadiget.. Artiklen er evt. på engelsk.
187941 En beskrivelse af CHKDSK og de nye /C- og /I-parametre. Artiklen er evt. på engelsk.

Årsag 4: Der findes filer, hvis stinavne indeholder mere end MAX_PATH tegn

Hvis der er problemer med filstien, er det muligvis ikke muligt at åbne, redigere eller slette en fil.

Løsning 1: Du kan få adgang til filen ved hjælp af et automatisk genereret 8.3-navn

Du kan muligvis løse problemet og få adgang til filen ved at bruge et automatisk genereret 8.3-navn. Denne løsning er muligvis den mest velegnede løsning, hvis stinavnet er for langt, fordi mappenavnene er for lange. Hvis 8.3-stien også er for lang, eller hvis 8.3-navne er blevet deaktiveret på diskenheden, skal du gå videre til Løsning 2. Du kan få flere oplysninger om deaktivering af 8.3-filnavne på NTFS-diskenheder ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
121007 Sådan deaktiveres oprettelse af 8.3-navne på NTFS-diskenheder. Artiklen er evt. på engelsk.

Løsning 2: Omdøb eller flyt en mappe, der er placeret for langt nede i stien

Omdøb mappen, så der ikke længere findes destinationsfiler, der er placeret længere nede i stien end MAX_PATH. Hvis du benytter denne fremgangsmåde, skal du starte med rodmappen (eller et tilsvarende relevant sted) og derefter omdøbe mapperne, så de får kortere navne. Hvis dette ikke løser problemet (hvis en fil f.eks. er mere end 128 mapper dyb), skal du gå videre til Løsning 4.

Løsning 3: Knyt et drev til en mappe i stistrukturen

Knyt et drev til en mappe i destinationsfilen eller -mappens stistruktur. Dermed bliver den virtuelle sti kortere.

Et eksempel kan være en sti med følgende struktur:
\\Servernavn\Undermappenavn1\Undermappenavn2\Undermappenavn3\Undermappenavn4\...
I denne sti er det samlede antal tegn mere end 255 tegn. Du kan forkorte længden på denne sti til 73 tegn ved at knytte et drev til Undermappenavn4.

Løsning 4: Brug et netværksshare, der er lige så dybt som mappen

Hvis det ikke er muligt at løse problemet ved at benytte de fremgangsmåder, der er beskrevet under Løsning 1, 2 og 3, eller hvis disse løsninger ikke er relevante, skal du oprette et netværksshare, der ligger så dybt i mappetræet som muligt, og derefter omdøbe mapperne via adgang til det pågældende share.

Løsning 5: Brug et værktøj, som er i stand til at krydse dybe stier

Mange Windows-programmer kan kun håndtere stinavne, som indeholder maksimalt 255 tegn. Programmerne har derfor et internt lager, som kun er stort nok til at håndtere disse typiske stier. Denne begrænsning gælder ikke for NTFS, og dette filsystem kan derfor håndtere meget længere stinavne.

Du oplever muligvis problemet, hvis du opretter et share på et punkt i en mappestruktur, som i forvejen er temmelig dyb, og derefter opretter en dyb struktur under dette punkt ved hjælp af sharet. Visse værktøjer, som anvendes lokalt i mappetræet, er muligvis ikke i stand til at krydse hele træet startende ved roden. Det er muligvis nødvendigt at bruge disse værktøjer på en speciel måde, så de bliver i stand til at krydse sharet. I dokumentationen til CreateFile API'et er der beskrevet en metode, der kan bruges til at krydse træet i denne situation.

Du vil typisk være i stand til at håndtere filer ved hjælp af de programmer, de er oprettet i. Hvis du har et program, som kan oprette filer, der er dybere end MAX_PATH, vil du typiske kunne slette eller styre filerne ved hjælp af dette program. Du vil typisk kunne slette filer, der er oprettet på et share, ved hjælp af det pågældende share.

Årsag 5: Filnavnet indeholder et reserveret navn i Win32-navneområdet

Hvis filnavnet indeholder et reserveret navn (f.eks. "lpt1") i Win32-navneområdet, har du muligvis ikke adgang til at slette filen. Du kan løse problemet ved at omdøbe filen i et program, som ikke er Win32. Du kan bruge filen ved hjælp af et POSIX-værktøj eller et andet værktøj, som anvender den relevante interne syntaks.

Derudover kan du muligvis omgå den typiske kontrol af reserverede navne i Win32-navneområdet ved hjælp af indbyggede kommandoer, hvis du angiver stien til filen med en bestemt syntaks. I Windows XP kan du f.eks. slette en fil med navnet "lpt1" ved hjælp af kommandoen Del, hvis du har angivet den fulde sti til filen ved hjælp af følgende særlige syntaks:
del \\?\c:\sti_til_fil\lpt1
Du kan få flere oplysninger om sletning af filer med reserverede navne i Windows NT og Windows 2000 ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
120716 Sådan fjernes filer med reserverede navne i Windows. Artiklen er evt. på engelsk.
Du kan få flere oplysninger om sletning af filer med reserverede navne i Windows XP ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
315226 Sådan fjernes filer med reserverede navne i Windows XP. Artiklen er evt. på engelsk.
Hvis du åbner et filhandle ved hjælp af en typisk Win32 CreateFile-mekanisme, er der visse filnavne, der er forbeholdt "gammeldags" DOS-enheder. Af hensyn til kompatibilitet med ældre programmer er disse filnavne ikke tilladte, og det er ikke muligt at oprette dem ved hjælp af typiske Win32-filkald. Dette problem er dog ikke en begrænsning i NTFS.

Du kan muligvis omgå den typiske navnekontrol, der udføres i et Win32-program, når der oprettes (eller slettes en fil), ved hjælp af den samme teknik, som du benytter til at krydse mapper, der er dybere end MAX_PATH. Derudover findes der POSIX-værktøjer, der ikke er underlagt disse former for navnekontrol.

Årsag 6: Filnavnet indeholder et ugyldigt navn i Win32-navneområdet

Du har muligvis ikke adgang til at slette en fil, hvis filnavnet indeholder et ugyldigt navn (hvis filnavnet f.eks. har et efterfølgende mellemrum eller punktum, eller hvis filnavnet udelukkende består af et mellemrum). Du kan løse dette problem ved at slette filen ved hjælp af et værktøj med den relevante interne syntaks. Du kan håndtere disse filer ved hjælp værktøjer med syntaksen "\\?\", f.eks.
del "\\?\c:\sti_til_fil_, som indeholder et efterfølgende mellemrum.txt "
Årsagen til problemet minder om Årsag 4. Hvis du åbner en fil, der indeholder et efterfølgende mellemrum eller punktum i filnavnet, ved hjælp af en typisk Win32-syntaks, slettes det efterfølgende mellemrum eller punktum, før selve filen åbnes. Hvis du har to filer i den samme mappe med navnene "AFile.txt" og "AFile.txt " (bemærk mellemrummet efter filnavnet), og du forsøger at åbne sidstnævnte fil ved hjælp af Win32-standardkald, er det den første fil, der åbnes. Tilsvarende, hvis du har en fil med navnet " " (et mellemrumstegn), og du forsøger at åbne denne fil ved hjælp af et Win32-standardkald, er det filens overordnede mappe, der åbnes. Hvis du forsøger at ændre sikkerhedsindstillingerne i disse filer, er du muligvis ikke i stand til at foretage ændringerne, eller ændringerne slår muligvis utilsigtet igennem i andre filer. Hvis dette problem opstår, kan du tro, at du har tilladelse til en fil, som rent faktisk har en begrænset ACL-liste.

Kombinerede årsager

Du kan nogle gange komme ud for, at et problem skyldes en kombination af flere årsager, hvilket kan gøre sletningen af en fil endnu mere kompleks. Hvis du f.eks. logger på computeren som administrator, oplever du muligvis en kombination af Årsag 1 (du har ikke tilladelse til at slette en fil) og Årsag 5 (filnavnet indeholder et efterfølgende tegn, som betyder, at adgangen til filen omdirigeres til en anden eller ikke-eksisterende fil), og du har muligvis ikke adgang til at slette filen. Hvis du forsøger at løse det problem, der er beskrevet i Årsag 1, ved at overtage ejerskabet af filen og tilføje rettigheder, er det muligvis stadigvæk ikke muligt at slette filen, fordi ACL-editoren i brugergrænsefladen ikke kan få adgang til den relevante fil på grund af de problemstillinger, der er beskrevet under Årsag 6.

I dette tilfælde kan du ved hjælp af hjælpeværktøjet Subinacl og /onlyfile-parameteren (dette hjælpeværktøj er indeholdt i Resource Kit) ændre ejerskab og tilladelser til en fil, der ellers ikke er adgang til, f.eks.:
subinacl /onlyfile "\\?\c:\sti_til_problem_fil" /setowner=domæne\administrator /grant=domæne\administrator=F
Bemærk! Denne kommandolinje er én enkelt kommandolinje, som er blevet delt for at gøre den mere læsevenlig.

Med dette kommandolinjeeksempel ændres filen C:\sti_til_problem_fil, som indeholder et efterfølgende mellemrum, så kontoen domæne\administrator er ejer af filen, og denne konto har fuld kontrol over filen. Det er nu muligt at slette denne fil ved hjælp af kommandoen Del med den samme "\\?\"-syntaks.

Referencer

Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
319368 Der vises en fejlmeddelelse af typen "Adgang nægtet", når du sletter mapper på et tilknyttet drev. Artiklen er evt. på engelsk.

Egenskaber

Artikel-id: 320081 - Seneste redigering: 3. december 2007 - Redigering: 7.3
Oplysningerne i denne artikel gælder:
  • 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
Nøgleord: 
kbinfo kbfilesystems KB320081

Send feedback

 

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