Code: Select all
foreach (DirectoryInfo temp in toBeDeleted) {
filecheck.WriteLine(temp.Name);
Directory.Move(temp.FullName, @"T:\Transactiondeletions\" + counter + "\\" + temp.Name);
}
Wenn ich jedoch das Programm ausführe, erhalte ich die Fehlermeldung „Zugriff verweigert“.

Code: Select all
T:Ich habe ein anderes zugeordnetes Laufwerk, U:, das sich auf derselben IP wie 10.11.12.13\Data3$ befindet und genau dieselbe Verzeichnisstruktur hat.
Der Clou ist, dass mein Programm auf dem U-Laufwerk einwandfrei funktioniert, aber nicht auf dem T-Laufwerk. Ich habe sowohl den Laufwerksbuchstaben in meinem Code als auch den tatsächlichen vollständigen Pfad mit IP ausprobiert, und es funktioniert immer noch einwandfrei auf dem U-Laufwerk, aber nicht auf dem T-Laufwerk.
Wenn mein Programm auf dem T-Laufwerk versucht, einen Ordner zu verschieben, wird „Zugriff verweigert“ angezeigt.
Es funktioniert jedoch einwandfrei, wenn:
- Ich verschiebe den Ordner manuell von Hand
- Ich verwende eine Verzeichniskopie + Directory.Delete statt Directory.Move
Ich dachte, es könnte damit zusammenhängen, dass ein StreamWriter noch geöffnet ist (Dateiprüfung), aber ich habe bereits versucht, diesen Teil des Codes zu verschieben, bis ich den StreamWriter schließe, aber es treten dieselben Fehler auf, sodass ich diese Möglichkeit „ausgeschlossen“ habe.
Jeder Rat wäre Ich weiß das sehr zu schätzen und stelle bei Bedarf gerne weitere benötigte Informationen zur Verfügung.
Mobile version