Datei löschen - Access is denied...

M4st3r

Erfahrenes Mitglied
...ist ja an und für sich eine aussagekräftige Fehlermeldung. Zugriff verweigert - nur warum?

Ich hole mir über den OpenFileDialog den Pfad zu einer Bilddatei, diese soll dann in ein Unterverzeichnis von meinem Programm. Existiert eine Datei dann soll diese umbenannt werden (Datei.ext.rem) und die neue mit dem Namen der alten reingeschrieben werden.

Soweit funktioniert das ganze. Wenn ich jetzt aber das nächste mal das gleiche Bild auswähle, dann existiert bereits eine .rem - Datei. Das ganze prüfe ich mit File.Exist() ab und will jetzt die bereits vorhandene Datei löschen - und da passierts: Mein eigener PC verweigert mir den Zugriff auf meine Datei - Frechheit! Nur warum tut er das?

Code:
 // cPfad beinhaltet den Pfad (c:\\sonstwas)
 // cFile nur den Dateinamen (datei.jpg)
 
 if (File.Exists(cPfad + "\\" + cFile) == true)		// Überprüfen ob Datei bereits existiert
 			{
 		    	if (File.Exists(cPfad + "\\" + cFile + ".rem") == true)		// Überprüfen ob .rem - Datei bereits existiert
 		    	{	    			
 		    		File.Delete(cPfad + "\\" + cFile + ".rem");
 				}
 		    	File.Move(cPfad + "\\" + cFile, cPfad + "\\" + cFile + ".rem");	// Wenn ja, umbenennen [Filename].rem
 			}
 
hast du vor diesem Abschnitt irgendwo einen offenen Stream auf diese Datei, oder ist die schreibgeschützt?
 
Tatsächlich - sie ist schreibgeschützt... Da hätte ich selbst drauf kommen können! Daraus ergibt sich die nächste Frage: Wie mach ich den Schreibschutz raus?
 
Versuch mal:
Code:
System.IO.File.SetAttributes(cPfad + "\\" + cFile + ".rem", System.IO.FileAttributes.Normal);

und versuch mal bei solchen Sachen auch :google:


;)
 
Ich habe auch das Problem dass ich die Datei nciht löschen kann.
Habe einiges in Acces gemacht, import, neue tabellen erstellt, tabellen wieder gelöscht uswusf.....abschließend will die mdb-Datei löschen, aber da hat noch ein Prozess die Finger drauf. Meines Wissens hab ich alles gekappt.....DataReader, OLEDEBConnection gescxhlossen und auf Nothing gesetzt....woran koennte es noch liegen?

Danke
Vince
 
Greifst du von mehreren Stellen darauf zu oder hast du nur eine einzelne Routine, die diesen Job übernimmt? Wenn ja, könntest mal den Sourcecode posten. So ists etwas schwer zu beurteilen.
 
Zurück