Toon posts:

[.NET] Directory.Delete, Permission Denied

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik mbv van System.IO.Directory.Delete een directory probeer te verwijderen, krijg ik een Security Exception om m'n oren; permission denied.

Kan iemand mij misschien in het kort uitleggen (of een link geven waar het duidelijk staat) wat ik moet doen om een bepaalde dir te kunnen verwijderen? De dir staat op een schijf met FAT32, de applicatie test ik in WinXP Pro als admin. Het is overigens een win32 applicatie.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Welk type exceptie krijg je precies?

Is de directory leeg?

Roep je de method Delete(string path) aan, of de overload Delete(string path, bool recursive) ?

https://fgheysels.github.io/


Verwijderd

Wat is precies je exception?
UnauthorizedAccessException is in prencipe de enige Security exception die je kunt krijgen al de caller geen premissie heeft.

Hoe roep je hem aan?

  • GAEvakYD
  • Registratie: Juni 2001
  • Laatst online: 21:32
Verwijderd schreef op 02 maart 2004 @ 07:18:
Als ik mbv van System.IO.Directory.Delete een directory probeer te verwijderen, krijg ik een Security Exception om m'n oren; permission denied.

Kan iemand mij misschien in het kort uitleggen (of een link geven waar het duidelijk staat) wat ik moet doen om een bepaalde dir te kunnen verwijderen? De dir staat op een schijf met FAT32, de applicatie test ik in WinXP Pro als admin. Het is overigens een win32 applicatie.
Je weet zeker dat de file niet in gebruik is?. Dan krijg je namelijk ook een PD message.

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22:51
Het is mogelijk dat een bepaald proces de directory nog in gebruik heeft. Met Proces Explorer kan je daar wel achter komen.

Roomba E5 te koop


Verwijderd

Topicstarter
Sorry voor de late reactie. De dir is leeg en ik weet zeker dat-ie niet in gebruik is. Ik roep'm als volgt aan:
code:
1
System.IO.Directory.Delete("x:\blablabla\", true);


Ik weet zo snel niet de precieze exception, 'k kan nu niet bij de code. Ik zal het vanavond nog even plaatsen.

Verwijderd

Meybe een hidden file. Proveer is een anderen directory en met:

C#:
1
System.IO.Directory.Delete(@"c:\test\", false);

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je moet alleszins je backslashes escapen , of doen zoals Cristal: een @ voor je string zetten:

code:
1
System.IO.Directory.Delete ("c:\\blaat\\bla\\", true);


of

code:
1
System.IO.Directory.Delete (@"c:\blaat\bla\", true);

https://fgheysels.github.io/


Verwijderd

Topicstarter
Sorry, uiteraard gebruikte ik ik escape slashes. Het lijkt er op dat-ie het alleen doet bij directories met 'vreemde' tekens in de naam. Ik krijg de blijkbaar alleen bij directories waarbij blokhaken in de naam voorkomen.
edit:

...en haakjes, en quotes


De precieze exception:
code:
1
2
3
4
An unhandled exception of type 'System.Exception' occurred in EmptyDirRemover.exe

Additional information: Access to the path 
"E:\Mijn Muziek\Faithless\Reverence-Irreverence [UK] Disc 1" is denied.

[ Voor 14% gewijzigd door Verwijderd op 03-03-2004 09:23 ]


Verwijderd

Gooi is je hele exception al string neer. Die geeft je meer info:

C#:
1
2
3
4
5
6
7
8
try
{
     // delete dinges
}
catch(Excetion caught)
{
     MessageBox.Show(caught.ToString();
}


Messchien dat dit nog iets meer duidelijk kan maken. Want, [ en anderen dingen moeten geen problemen opleveren.

[ Voor 1% gewijzigd door Verwijderd op 03-03-2004 23:55 . Reden: typfout ]

Pagina: 1