Anzeige

 Datei löschen - Access is denied...


M4st3r

Erfahrenes Mitglied
#1
...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
 			}
 

M4st3r

Erfahrenes Mitglied
#3
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?
 

NRFi

Erfahrenes Mitglied
#4
Versuch mal:
Code:
System.IO.File.SetAttributes(cPfad + "\\" + cFile + ".rem", System.IO.FileAttributes.Normal);
und versuch mal bei solchen Sachen auch :google:


;)
 
#6
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
 

Norbert Eder

Erfahrenes Mitglied
#7
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.
 
Anzeige
Anzeige