Вылазит ошибка при копировании в директорию: Отказано в доступе. Как фиксить? [ public static void SecondSaveFile() { string Newpath = "C:\\Desktop"; Console.WriteLine(Newpath); Console.WriteLine("Введите нынешний путь файла: "); path = Console.ReadLine(); if (File.Exists(Newpath)) { File.Delete(Newpath); File.Copy(path, Newpath); } } /CODE] Код [ public static void SecondSaveFile() { string Newpath = "C:\\Desktop"; Console.WriteLine(Newpath); Console.WriteLine("Введите нынешний путь файла: "); path = Console.ReadLine(); if (File.Exists(Newpath)) { File.Delete(Newpath); File.Copy(path, Newpath); } } /CODE]
Для того чтобы писать в корень диска нужны права администратора (https://ru.wikipedia.org/wiki/Контроль_учётных_записей_пользователей) так что или запускай программу как администратор или поменяй путь по которому ты хранишь файл так чтобы он не был в корне диска.
Minin_inactive4471240, а чего ты ждал? По первому условию ты пойдёшь в else потому что такого файла не существует (существует такая папка), а в этой ветке ты попытаешься переместить файл задав ему в качестве НОВОГО ИМЕНИ путь к папке - естественно что эта команда падает потому что этот путь занят папкой. В документации чётко написано что вторым параметром надо передать новый путь к файлу И ЕГО ИМЯ (а не путь к папке в которую ты хочешь его переместить).
Minin_inactive4471240, Чел, ты немного туговат - "C:\Users" тоже требует прав администратора для доступа. Вот пример который переместит указанный в консоли файл на твой рабочий стол (не забывай что путь который ты вводишь должен быть доступен без прав администратора, иначе программу надо запускать с правами администратора чтобы она отработала): public static void SecondSaveFile() { Console.WriteLine("Введите нынешний путь файла: "); string path = Console.ReadLine(); string newPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), Path.GetFileName(path)); Console.WriteLine($"Новый путь: {newPath}"); try { if (File.Exists(newPath)) { File.Delete(newPath); } File.Move(path, newPath); Console.WriteLine("Ready"); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } } C# public static void SecondSaveFile() { Console.WriteLine("Введите нынешний путь файла: "); string path = Console.ReadLine(); string newPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), Path.GetFileName(path)); Console.WriteLine($"Новый путь: {newPath}"); try { if (File.Exists(newPath)) { File.Delete(newPath); } File.Move(path, newPath); Console.WriteLine("Ready"); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } }