Artikel ID: 320081 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Inleiding

In dit artikel wordt beschreven waarom u een bestand of map niet kunt verwijderen van een NTFS-systeemvolume en hoe u de verschillende oorzaken van dit probleem kunt aanpakken om het te verhelpen.

Meer informatie

Opmerking Mappen worden door NTFS intern beschouwd als een speciaal bestandstype. Daarom wordt het woord 'bestand' in dit artikel voor zowel bestanden als mappen gebruikt.

Oorzaak 1: Het bestand gebruikt een ACL

U kunt een bestand mogelijk niet verwijderen wanneer het bestand gebruikmaakt van een ACL (Access Control List). U lost dit probleem op door de machtigingen voor het bestand te wijzigen. Wellicht moet u eerst eigenaar van het bestand worden om de machtigingen te kunnen wijzigen.

Beheerders kunnen altijd eigenaar van een bestand worden, zelfs als ze niet expliciet gemachtigd zijn voor een bestand. De eigenaren van bestanden kunnen de machtigingen voor bestanden wijzigen, zelfs als ze niet expliciet gemachtigd zijn voor een bestand. Daarom moet u wellicht eerst eigenaar van het bestand worden, uzelf een machtiging verlenen om het bestand te verwijderen en het bestand vervolgens verwijderen.

Bepaalde beveiligingsprogramma's kunnen niet worden gebruikt om machtigingen weer te geven of te wijzigen, omdat het bestand een niet-standaard ACL heeft

U kunt dit probleem omzeilen door een ander programma te gebruiken (bijvoorbeeld een latere build van Cacls.exe).

De ACE's (Access Control Entries) in een ACL staan in een bepaalde volgorde, afhankelijk van het type. ACE's die toegang weigeren, komen bijvoorbeeld meestal vóór de ACE's die toegang verlenen. Programma's kunnen de ACE's in een ACL echter ook in een willekeurige volgorde plaatsen. In bepaalde eerdere versies van Windows traden problemen op wanneer Microsoft Windows probeerde deze niet-standaard ACL's te lezen. In sommige gevallen kunnen deze ACL's niet correct worden gewijzigd met de grafische beveiligingseditor van Microsoft Windows Verkenner. Dit probleem is opgelost in latere versies van Windows. Wanneer dit probleem zich voordoet, moet u de meest recente versie van Cacls.exe gebruiken. Zelfs als u een bestaande ACL niet kunt weergeven of bewerken, kunt u wel een nieuwe ACL schrijven waarmee u toegang tot het bestand kunt verkrijgen.

Oorzaak 2: Het bestand is in gebruik

U kunt een bestand niet verwijderen als het in gebruik is. Bepaal welk proces de open ingang heeft en sluit dat proces om het probleem te verhelpen.

U kunt het bestand dat in gebruik is mogelijk niet verwijderen door de wijze waarop het bestand is geopend (bijvoorbeeld met exclusieve toegang of gedeelde toegang). Er zijn tal van hulpprogramma's waarmee u kunt bepalen welke processen ingangen naar bestanden hebben geopend.

Voor meer informatie over hulpprogramma's ter ondersteuning van de processen met open ingangen naar bestanden klikt u op de volgende artikelnummers in de Microsoft Knowledge Base:
242131Procedure: Een lijst weergeven met processen met geopende bestanden
172710Het hulpprogramma OH gebruiken van de Windows NT 4.0 Resource Kit
De symptomen van dit problemen kunnen verschillen. U kunt het bestand mogelijk verwijderen met de opdracht Delete, maar het bestand wordt pas daadwerkelijk verwijderd wanneer het proces waardoor het bestand is geopend, het bestand vrijgeeft. Mogelijk hebt u ook geen toegang tot het dialoogvenster Beveiliging van een bestand waarvoor de verwijdering in behandeling is. Bepaal welk proces de open ingang heeft en sluit dat proces om het probleem te verhelpen.

Oorzaak 3: De toegang tot het bestand wordt verhinderd door een beschadigd bestandssysteem

U kunt een bestand niet verwijderen als het bestandssysteem beschadigd is. U kunt dit probleem oplossen door het hulpprogramma Chkdsk op het schijfvolume uit te voeren om eventuele fouten te corrigeren.

Het bestandssysteem kan worden beschadigd door slechte sectoren op de schijf, andere beschadigde hardware of softwarefouten, waardoor de status van bestanden onbestendig wordt. Gebruikelijke bewerkingen kunnen op tal van manieren mislukken. Als wordt vastgesteld dat het bestandssysteem beschadigd is, wordt een gebeurtenis in het gebeurtenissenlogboek geschreven en wordt een bericht weergegeven waarin u wordt aangeraden Chkdsk uit te voeren. Afhankelijk van de aard van de beschadiging, kunnen bestandsgegevens al dan niet door Chkdsk worden hersteld. Met Chkdsk wordt het bestandssysteem in ieder geval hersteld naar een interne consistente status.

Voor meer informatie over het gebruik van het hulpprogramma Chkdsk klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
176646Foutbericht: Bestand of map is beschadigd...
187941Beschrijving van CHKDSK en de nieuwe schakelopties /c en /i

Oorzaak 4: De paden naar de bestanden zijn langer dan het maximale aantal tekens dat is opgegeven bij MAX_PATH.

U kunt een bestand niet openen, bewerken of verwijderen als er problemen zijn met het pad naar het bestand.

Oplossing 1: Een automatisch gegenereerde 8.3-naam gebruiken om het bestand te openen

U kunt dit probleem oplossen door een automatisch gegenereerde 8.3-naam te gebruiken om het bestand te openen. Dit is 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, gaat u verder met oplossing 2.

Voor meer informatie over het uitschakelen van 8.3-namen op NTFS-volumes klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
121007Het maken van namen met de 8.3-indeling uitschakelen op NTFS-partities

Oplossing 2: Diep geneste mappen hernoemen of verwijderen

Wijzig de naam van de map zodat het pad naar doelbestanden niet langer is dan ingesteld bij MAX_PATH. Begin bij de hoofdmap (of een andere map die hiervoor in aanmerking komt) en wijzig de namen van de mappen in kortere namen. Als het probleem hiermee niet kan worden opgelost (bijvoorbeeld omdat een bestand meer dan 128 mappen diep is opgeslagen), gaat u verder met oplossing 4.

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

Wijs een station toe aan een map in de structuur van het pad naar het bronbestand of de bronmap. Hierdoor wordt het virtuele pad korter.

Stel dat er een pad is met de volgende structuur:
\\Servernaam\Submapnaam1\Submapnaam2\Submapnaam3\Submapnaam4\...
Dit pad bevat in totaal meer dan 255 tekens. U kunt de lengte van het pad verkleinen tot 73 tekens door een station toe te wijzen aan Submapnaam4.

Oplossing 4: Een netwerkshare gebruiken die net zo diep zit als de map

Als oplossing 1, 2 en 3 niet in aanmerking komen of het probleem niet verhelpen, maakt u zo diep mogelijk in de bestandsstructuur een netwerkshare en hernoemt u de mappen voor toegang vanuit de share.

Oplossing 5: Een hulpprogramma voor toegang tot diepe paden gebruiken

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

Dit probleem kan zich voordoen wanneer u een share maakt op een vrij diep punt in uw mappenstructuur en daaronder weer een diepe structuur maakt die verwijst naar de share. Sommige programma's van waaruit lokaal in de mappenstructuur wordt gewerkt, hebben geen toegang tot de volledige structuur die begint vanuit de hoofdmap. U moet deze programma's op een andere manier gebruiken, zodat ze toegang hebben tot de share. (In de documentatie bij de API CreateFile wordt een methode beschreven om in dergelijke gevallen toegang te verkrijgen tot de volledige structuur.)

Meestal kunt u bestanden beheren via de software waarin ze zijn gemaakt. Als u een programma gebruikt dat bestanden kan maken met een langer pad dan is opgegeven bij MAX_PATH, kunt u hetzelfde programma meestal gebruiken om de bestanden te verwijderen of te beheren. Bestanden die zijn gemaakt op een share, kunnen meestal ook via dezelfde share worden verwijderd.

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

Als de bestandsnaam een gereserveerde naam (zoals 'lpt1') gebruikt in de Win32-naamruimte, kunt u het bestand niet verwijderen. U lost dit probleem op door de naam van het bestand te wijzigen in een niet-Win32-programma.. U kunt een POSIX-programma of een ander programma gebruiken met de juiste interne syntaxis voor het gebruik van het bestand.

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 naar het bestand te specificeren. Als u bijvoorbeeld de opdracht Del gebruikt in Windows XP, kunt u een bestand met de naam 'lpt1' verwijderen als u het volledige pad naar het bestand opgeeft met de volgende specifieke syntaxis:
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 artikelnummer in de Microsoft Knowledge Base:
120716Bestanden 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 artikelnummer in de Microsoft Knowledge Base:
315226Bestanden met gereserveerde namen verwijderen in Windows XP
Als u een ingang naar een bestand opent via een gebruikelijk Win32 CreateFile-mechanisme, zijn bepaalde bestandsnamen gereserveerd voor oude DOS-apparaten. Vanwege terugwaartse compatibiliteit zijn deze bestandsnamen niet toegestaan en kunnen ze niet worden gemaakt met behulp van de gebruikelijke Win32-bestandsaanroepen. Dit probleem geldt echter niet voor NTFS.

Mogelijk kunt u een Win32-programma gebruiken om de gebruikelijke naamcontroles te omzeilen die worden uitgevoerd wanneer een bestand wordt gemaakt (of verwijderd), door dezelfde techniek toe te passen als voor het verkrijgen van toegang tot mappen met een pad dat langer is dan is opgegeven bij MAX_PATH. Daar komt bij dat in sommige POSIX-programma's deze naamcontroles niet worden uitgevoerd.

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

U kunt een bestand mogelijk niet verwijderen als de bestandsnaam ongeldig is (bijvoorbeeld als de naam wordt gevolgd door een spatie of punt of als de naam alleen uit een spatie bestaat). U kunt dit probleem oplossen door een programma te gebruiken dat werkt met de juiste interne syntaxis voor het verwijderen van het bestand. In sommige programma's kunt u de syntaxis '\\?\' gebruiken om deze bestanden te bewerken, bijvoorbeeld:
del "\\?\c:\pad_naar_bestand_gevolgd door een spatie.txt "
De oorzaak van dit probleem is vergelijkbaar met oorzaak 4. Als u echter de gebruikelijke Win32-syntaxis gebruikt om een bestand te openen waarvan de naam wordt gevolgd door een spatie of punt, wordt de spatie of de punt verwijderd voordat het bestand wordt geopend. Als er bijvoorbeeld twee bestanden in dezelfde map staan met de namen 'AFile.txt' en 'AFile.txt ' (met een spatie achter de bestandsnaam) en u het tweede bestand wilt openen via de standaard Win32-aanroepen, wordt in plaats daarvan het eerste bestand geopend. Als u een bestand hebt waarvan de naam uitsluitend bestaat uit ' ' (een spatie) en u probeert het bestand te openen via standaard Win32-aanroepen, wordt in plaats daarvan de bovenliggende map geopend. Als u in een dergelijke situatie probeert de beveiligingsinstellingen van deze bestanden te wijzigen, lukt dit niet of wijzigt u onbedoeld de instellingen van andere bestanden. Als dit probleem zich voordoet, lijkt het of u machtigingen voor een bestand hebt, dat in werkelijkheid een beperkende ACL heeft.

Combinatie van oorzaken

Soms wordt het probleem veroorzaakt door een combinatie van deze oorzaken, waardoor de procedure om het bestand te verwijderen nog ingewikkelder wordt. Als u zich bijvoorbeeld aanmeldt als beheerder van de computer, wordt het probleem mogelijk veroorzaakt door een combinatie van oorzaak 1 (u bent niet gemachtigd om een bestand te verwijderen) en oorzaak 5 (de bestandsnaam wordt gevolgd door een spatie waardoor een ander bestand of een niet-bestaand bestand wordt geopend) en kunt u het bestand niet verwijderen. Als u probeert oorzaak 1 op te lossen door eigenaar van het bestand te worden en machtigingen toe te voegen, kunt u het bestand wellicht nog steeds niet verwijderen omdat de ACL-editor in de gebruikersinterface het juiste bestand niet kan openen vanwege oorzaak 5.

In een dergelijke situatie kunt u het programma Subinacl gebruiken met de schakeloptie /onlyfile (dit programma bevindt zich in de Resource Kit) om de eigenaar en machtigingen van een bestand te wijzigen dat anders niet toegankelijk is. Bijvoorbeeld:
subinacl /onlyfile "\\?\c:\pad_naar_probleembestand" /setowner=domein\beheerder /grant=domein\beheerder=F
Opmerking Dit is één opdrachtregel, die hier alleen over meerdere regels is verdeeld ten behoeve van de leesbaarheid.

Met de voorbeeldopdrachtregel wordt het bestand C:\pad_naar_probleembestand met een spatie achter de bestandsnaam gewijzigd, zodat de account domein\beheerder eigenaar wordt van het bestand en de account het volledige beheer heeft over het bestand. U kunt dit bestand nu verwijderen met de opdracht Del en dezelfde '\\?\'-syntaxis.

Eigenschappen

Artikel ID: 320081 - Laatste beoordeling: maandag 3 december 2007 - Wijziging: 7.2
De informatie in dit artikel is van toepassing op:
  • Microsoft Windows® 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Advanced Server, Limited Edition
  • Microsoft Windows Datacenter Server Limited Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard 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
Trefwoorden: 
kbinfo kbfilesystems KB320081

Geef ons 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