Hallo
Ich habe den Auftrag unter XP (SP3) "veraltete" Home-Laufwerke zu bewerten u. ggf. zu verschieben.
Ich hab soweit auch schon alles hinbekommen. Nun scheitere ich jedoch daran, die in den Home-Laufwerken vorhandenen SpecialFolder (z.B. "Eigene Bilder", "Eigene Musik")
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| static bool MoveFolder(string Source, string Target){ if (Directory.Exists(Source)){ if ( ! Directory.Exists(Target)) { Directory.CreateDirectory(Target); } DirectoryInfo SInfo = new DirectoryInfo(Source); DirectoryInfo TInfo = new DirectoryInfo(Target); foreach (FileInfo File in SInfo.GetFiles()){ File.MoveTo(Path.Combine(Target, File.Name)); } foreach (DirectoryInfo SubFolder in SInfo.GetDirectories()){ MoveFolder(SubFolder.FullName, Path.Combine(Target, SubFolder.Name)); } TInfo.CreationTime = SInfo.CreationTime; TInfo.LastWriteTime = SInfo.LastWriteTime; object test = Environment.SpecialFolder.MyMusic; DirectoryInfo ti = new DirectoryInfo(Environment.SpecialFolder.MyMusic); try { SInfo.Delete(); } catch (Exception e) { Console.WriteLine(e.Message); } return true; } else { throw new Exception(Source + "ist kein Verzeichnis!"); } } |
Die Funktion SInfo.Delete() wirft bei den SpecialFolder den Fehler "Zugriff verweigert" obwohl die NTFS-Rechte die gleichen sind, wie bei den anderen Dateien u. Verzeichnissen, die ich verschieben kann. Ich hab schon gesucht, kann aber keinen passenden Hinweis finden.
Hat jemand eine Idee?