System.UnauthorizedAccessException beim löschen einer entzipten datei
-
Hey,
Ich hab folgendes Problem, wenn ich eine zip datei entpacke (via System::Process(...) ) und den Ordner hinterher loeschen will bekomme ich eine "System.UnauthorizedAccessException".
Die ist Frage ist nun ob ich beim entpacken bereits Parameter übergeben muss, oder
ob ich den entpackten Ordner bearbeiten muss, oder evtl beim loeschen Parameter übergeben muss.if(appname.Right(3)== "zip") { CString path_zip = path.Right(path.GetLength()-7); //delete the "file://" CString path_folder = path_zip.Left(path_zip.GetLength()-4); //delete the ".zip" CString cmdline = "-e "; cmdline = cmdline+path_zip+" "+path_folder; System::Diagnostics::Process* process = Process::Start("C:\\Program Files\\Winzip\\WINZIP32.exe", cmdline); //extract process->WaitForExit(); System::IO::File::Delete(path_folder); }
-
Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Das deuete wohl darauf hin, dass Du keine Berechtigung hast das Verzeichnis zu löschen...
Tritt es auch im debugger auf, wenn Du lange genug gewartet hast?Was tutst Du denn genau da löschen? Kann das irgendwie nicht so genau erkennen...
Auch solltest Du die Member in System::IO::Path:: verwenden um mit Dateinamen / Pfaden zu arbeiten (dann kannst Du Dir das "GetÖength()-4" sparen).
-
Jochen Kalmbach schrieb:
Das deuete wohl darauf hin, dass Du keine Berechtigung hast das Verzeichnis zu löschen...
ja dessen bin ich mir bewusst, deshalb die Frage nach möglichen Parametern.
Tritt es auch im debugger auf, wenn Du lange genug gewartet hast?
ja
Was tutst Du denn genau da löschen? Kann das irgendwie nicht so genau erkennen...
nen Ordner mit 2 dateien darin
Auch solltest Du die Member in System::IO::Path:: verwenden um mit Dateinamen / Pfaden zu arbeiten (dann kannst Du Dir das "GetÖength()-4" sparen).
thx
-
Willst Du eine Datei löschen oder ein ganzes Verzeichnis? Das kann ich irgendwie nicht so richtig erkennen...
Für ein Verzeichniss musst Du Directory::Delete verwenden
-
wollte ein Verzeichnis loeschen, funktioniert jetzt mit dem directory::delete
Herzlichen Dank