U kunt een bestand niet verwijderen of een map op een NTFS-volume bestandssysteem

Als u wilt doorgaan met het ontvangen van beveiligingsupdates voor Windows moet dat u Windows XP met Service Pack 3 (SP3) hebt uitgevoerd. Raadpleeg deze Microsoft-website voor meer informatie: ondersteuning voor sommige versies van Windows wordt beëindigd

INLEIDING

In dit artikel wordt beschreven waarom u mogelijk niet kunt verwijderen van een bestand of een map op een NTFS-volume en hoe u de verschillende oorzaken voor dit probleem kunt oplossen.

Meer informatie

Opmerking Door beschouwd NTFS intern mappen als een speciaal bestandstype. Daarom wordt het woord 'bestand' in dit artikel geeft een bestand of een map.

Oorzaak 1: Het bestand gebruikt een ACL.

Niet kan mogelijk een bestand te verwijderen als het bestand een lijst met ACL (Access Control wordt). Dit probleem oplossen door de machtigingen voor het bestand te wijzigen. U moet de eigenaar van de bestanden kunnen de machtigingen te wijzigen.

Beheerders kunnen de impliciete eigenaar worden van elk bestand, zelfs als ze zijn niet is expliciet gemachtigd zijn voor het bestand. Eigenaren kunnen de impliciete machtigingen voor bestanden wijzigen, zelfs als ze geen machtigingen voor het bestand worden niet expliciet toegekend. U moet daarom, eigenaar van een bestand worden, uzelf machtigen om het bestand te verwijderen en verwijder het bestand.

U kunt bepaalde beveiligingsprogramma's niet gebruiken om weer te geven of te wijzigen van machtigingen omdat het bestand een niet-standaard ACL heeft

U kunt dit probleem omzeilen, gebruikt u een ander programma (bijvoorbeeld een latere build van Cacls.exe).

De toegangsbeheervermeldingen (ACE's) in een ACL hebben een bepaalde volgorde, afhankelijk van hun type. Zo komen ACE's die toegang meestal weigeren vóór de ACE's die toegang verlenen. Echter, niets verhindert dat een programma een ACL ACE's in een willekeurige volgorde bevat. In sommige eerdere versies van Windows traden problemen op wanneer Microsoft Windows probeerde deze "niet-standaard" ACL's te lezen. Soms u kan niet deze ACL's niet correct worden gewijzigd met de grafische beveiligingseditor van Microsoft Windows Verkenner. Dit probleem is opgelost in latere versies van Windows. Als u dit probleem ondervindt, gebruikt u de meest recente versie van Cacls.exe. Zelfs als u niet kunt weergeven of bewerken van een ACL in plaats, kunt u een nieuwe ACL waarmee u toegang krijgt tot het bestand schrijven.

Oorzaak 2: Het bestand wordt gebruikt

Niet kan mogelijk een bestand te verwijderen als het bestand wordt gebruikt. Bepaal welk proces de open ingang heeft en sluit dat proces dit probleem op te lossen.

Wijze waarop het bestand is geopend (bijvoorbeeld, het is geopend voor exclusieve toegang of gedeelde toegang), mogelijk niet verwijderen van een bestand dat in gebruik is. U kunt tal van hulpprogramma's waarmee u kunt bepalen welke processen met open ingangen naar bestanden wanneer u maar wilt. Voor meer informatie over hulpprogramma's ter ondersteuning van de processen met open ingangen naar bestanden klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base weer te geven:

242131 hoe u een lijst weergeven met processen met geopende bestanden

172710 hoe u het hulpprogramma OH gebruiken op Windows NT 4.0 Resource Kit

De symptomen van dit probleem kunnen verschillen. U kunt mogelijk de opdracht Delete gebruiken om een bestand te verwijderen, maar het bestand wordt pas daadwerkelijk verwijderd wanneer het proces dat het bestand openen versies van het bestand is. Bovendien niet mogelijk toegang kunnen krijgen tot het dialoogvenster beveiliging voor een bestand dat de verwijdering in behandeling is. Bepaal welk proces de open ingang heeft en sluit dat proces dit probleem op te lossen.

Oorzaak 3: Beschadigd bestandssysteem belemmert de toegang tot het bestand

U niet mogelijk het bestand te verwijderen als het bestandssysteem is beschadigd. Uitvoeren om dit probleem oplossen door het hulpprogramma Chkdsk op het schijfvolume om eventuele fouten te corrigeren.

Beschadigde sectoren op de schijf, andere beschadigde hardware of softwarefouten, kunnen het bestandssysteem beschadigd raken en bestanden plaatsen in een situatie. Gebruikelijke bewerkingen kunnen op tal van manieren mislukken. Als het bestandssysteem beschadigd wordt gedetecteerd, een gebeurtenis in het gebeurtenislogboek wordt en wordt een bericht weergegeven waarin wordt gevraagd of u het uitvoeren van Chkdsk. afhankelijk van de aard van de beschadiging, al dan niet mogelijk om te herstellen van gegevens; Chkdsk wordt het bestandssysteem op een interne consistente status. Voor meer informatie over het gebruik van het hulpprogramma Chkdsk klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base weer te geven:
176646 -foutbericht: bestand of map is beschadigd...

187941 een beschrijving van CHKDSK en de nieuwe schakelopties /C en /I

Oorzaak 4: Bestanden in de paden dan MAX_PATH tekens bestaan

U niet mogelijk om te openen, bewerken of verwijderen van een bestand als er problemen met het pad naar het bestand zijn.

Oplossing 1: Gebruik een automatisch gegenereerde 8.3-naam voor het bestand

U lost dit probleem, kunt u de automatisch gegenereerde 8.3-naam gebruiken om het bestand te openen. Deze resolutie is mogelijk de eenvoudigste oplossing als het pad te lang is omdat de namen van de mappen te lang zijn. Als het 8.3-pad ook te lang is of als 8.3-namen zijn uitgeschakeld voor het volume, Ga naar oplossing 2. Voor meer informatie over het uitschakelen van 8.3-namen op NTFS-volumes klikt u op het volgende artikel in de Microsoft Knowledge Base:
121007 het uitschakelen van het maken van 8.3-namen op NTFS-partities

Oplossing 2: Hernoemen of verplaatsen van een uitgebreide map

Naam van de map, zodat de doelbestanden dan de ingesteld bij MAX_PATH bestaat niet meer. Als u dit doet, start bij de hoofdmap (of een andere handige locatie) en wijzig de naam van mappen zodat u kortere namen. Als deze stap dit probleem (bijvoorbeeld een bestand meer dan 128 mappen diep is) niet is opgelost, gaat u naar oplossing 4.

Oplossing 3: Een station toewijzen aan een map in de structuur van het pad

Een station toewijzen aan een map in de structuur van het pad van het bestand of de map. Met deze methode wordt het virtuele pad verkort.

Stel dat u een pad dat is als volgt gestructureerd:
\\ServerName\SubfolderName1\SubfolderName2\SubfolderName3\SubfolderName4\...
In dit pad is het totaal meer dan 255 tekens. U kunt de lengte van het pad tot 73 tekens door een station te toewijzen aan Submapnaam4.

Resolutie 4: Gebruik een netwerkshare die net zo diep zit als de map

Als oplossing 1, 2 en 3 niet handig zijn of het probleem niet kunt oplossen, maakt u een netwerkshare zo diep mogelijk in de bestandsstructuur kan en hernoemt u de mappen voor toegang vanuit de share.

Resolutie 5: Een hulpprogramma voor toegang diepe paden tot gebruiken

Veel Windows-programma's verwachten dat de maximale padlengte korter is dan 255 tekens. Daarom wijzen deze programma's alleen voldoende opslag toe om deze gebruikelijke paden te verwerken. NTFS heeft deze limiet niet en kunnen veel langere paden.

U kunt dit probleem treedt op als u een share maakt op een bepaald moment in uw mapstructuur die nog vrij diep en maakt een diepe structuur onder die punten met behulp van de share. Sommige hulpprogramma's die lokaal in de mappenstructuur wordt gewerkt, hebben wellicht niet mogelijk om de volledige structuur die begint vanuit de hoofdmap. U moet deze programma's op een speciale manier gebruiken, zodat ze toegang hebben tot met de share. (In de documentatie bij de API CreateFile wordt een methode om de volledige structuur in deze situatie beschreven.)

Meestal kunt u bestanden beheren met behulp van de software waarin ze zijn gemaakt. Als er een programma dat u kunt bestanden maken die dan ingesteld bij MAX_PATH, kunt meestal u hetzelfde programma te verwijderen of beheren van bestanden. Meestal kunt u bestanden die zijn gemaakt op een share met behulp van dezelfde share verwijderen.

Oorzaak 5: De bestandsnaam bevat een gereserveerde naam in de Win32-naamruimte.

Als de bestandsnaam een gereserveerde naam (zoals ' lpt1') in de Win32-naamruimte bevat, kunt u mogelijk niet het bestand te verwijderen. Dit probleem oplossen door een niet-Win32-programma te gebruiken om het bestand te wijzigen. U kunt een POSIX-programma of een ander programma dat de juiste interne syntaxis gebruikt om het bestand te gebruiken.

U mag ook kunt u interne opdrachten gebruiken om de controle van veelgebruikte gereserveerde Win32-namen te omzeilen als u een specifieke syntaxis gebruikt om het pad van het bestand. Als u de opdracht Del in Windows XP gebruikt, kunt u bijvoorbeeld een bestand met de naam 'lpt1' als u het volledige pad van het bestand opgeven door met de volgende specifieke syntaxis verwijderen:
DEL \\?\c:\pad_naar_bestand\lpt1
Voor meer informatie over het verwijderen van bestanden met gereserveerde namen in Windows NT en Windows 2000, klikt u op het volgende artikel in de Microsoft Knowledge Base:

120716 hoe u bestanden met gereserveerde namen verwijderen in Windows

Voor meer informatie over het verwijderen van bestanden met gereserveerde namen in Windows XP, klikt u op het volgende artikel in de Microsoft Knowledge Base:

315226 hoe u bestanden met gereserveerde namen verwijderen in Windows XP

Als u een ingang naar een bestand opent met behulp van de gebruikelijke Win32 CreateFile-mechanisme, zijn bepaalde bestandsnamen gereserveerd voor oude stijl DOS-apparaten. Deze bestandsnamen niet toegestaan en zij kunnen niet worden gemaakt met behulp van de gebruikelijke Win32-bestandsaanroepen voor achterwaartse compatibiliteit. Dit probleem is echter niet een beperking van NTFS.

U kunt mogelijk een Win32-programma gebruiken om te omzeilen van de gebruikelijke controles die worden uitgevoerd wanneer een bestand wordt gemaakt (of verwijderd) met behulp van dezelfde techniek die u gebruikt voor het doorkruisen van mappen die dan ingesteld bij MAX_PATH worden. Ook vallen sommige POSIX-programma's niet onder deze naam controles.

Oorzaak 6: De bestandsnaam bevat een ongeldige naam in de Win32-naamruimte.

U misschien niet mogelijk een bestand te verwijderen als de bestandsnaam een ongeldige naam bevat (bijvoorbeeld de bestandsnaam bevat een spatie of punt of naam van het bestand bestaat alleen uit een spatie). Gebruik een hulpprogramma waarmee u de juiste interne syntaxis gebruikt om het bestand te verwijderen dit probleem op te lossen. U kunt de "\\? \" syntaxis met enkele hulpmiddelen voor het werken met deze bestanden, bijvoorbeeld:
del "\\?\c:\een spatie.txt pad_naar_bestand_gevolgd "
De oorzaak van dit probleem is vergelijkbaar met oorzaak 4. Echter, als u de gebruikelijke Win32-syntaxis gebruikt voor het openen van een bestand met de naam volgspaties spatie of punt, de spatie of de punt verwijderd voordat het bestand wordt geopend. Daarom hebt u twee bestanden in dezelfde map met de naam 'AFile.txt' en 'AFile.txt' (Let op de spatie achter de bestandsnaam), als u probeert het tweede bestand openen via standaard Win32-aanroepen, opent u het eerste bestand in plaats daarvan. Op dezelfde manier als u een bestand waarvan de naam is gewoon "" (spatie) en u probeert te openen via standaard Win32-aanroepen, wordt het bestand van de bovenliggende map geopend. In dit geval, als u probeert de beveiligingsinstellingen van deze bestanden te wijzigen, u ofwel niet mogelijk om dit te doen of wijzigt u onbedoeld de instellingen van andere bestanden. Als dit probleem optreedt, kan u denkt dat u gemachtigd bent om een bestand dat in werkelijkheid een beperkende ACL heeft.

Combinatie van oorzaken

Soms treden combinaties van deze oorzaken, waardoor de procedure om een meer complexe bestand te verwijderen. Als u zich als beheerder van de computer aanmeldt, bijvoorbeeld een combinatie van oorzaak 1 (u bent niet gemachtigd om een bestand te verwijderen) en oorzaak 5 (de bestandsnaam bevat een spatie waardoor toegang tot het bestand wordt omgeleid naar een andere of niet-bestaand bestand) kunnen optreden en u misschien niet mogelijk om het bestand te verwijderen. Als u probeert oorzaak 1 oplossen door eigenaar van het bestand en machtigingen toe te voegen, u nog steeds niet mogelijk het bestand te verwijderen omdat de ACL-editor in de gebruikersinterface geen toegang het juiste bestand door oorzaak 6 tot.

In dit geval kunt u het hulpprogramma Subinacl met de
/ onlyfile switch (dit hulpprogramma is opgenomen in de Resource Kit) te wijzigen eigendom en machtigingen voor een bestand die anders niet toegankelijk is, bijvoorbeeld:
subinacl/onlyfile "\\?\c:\pad_naar_probleembestand" / setowner =domein\beheerder /grant =domein\beheerder= F
Opmerking Deze opdracht is voor de leesbaarheid zijn hier één opdrachtregel.

Voorbeeldopdrachtregel het C:\pad_naar_probleembestand bestand met een spatie wordt gewijzigd zodat de
domein\administrator -account is de eigenaar van het bestand en deze account heeft volledige controle over het bestand. U kunt dit bestand nu verwijderen met behulp van de opdracht Del met dezelfde syntaxis '\\?\'.

Referenties

Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

319368 u een foutbericht 'Toegang geweigerd' wanneer u mappen uit een gekoppeld station maken verwijdert

Eigenschappen

Artikel-id: 320081 - Laatst bijgewerkt: 14 feb. 2017 - Revisie: 2

Feedback