Копирование папок - C#
Формулировка задачи:
Всем доброго времени суток.
Мне необходимо копировать папку с файлами в другую папку для этого я использую:Но при выполнении выдает ошибку в доступе.
void perebor_updates(string begin_dir, string end_dir) { DirectoryInfo dir_inf = new DirectoryInfo(begin_dir); foreach (DirectoryInfo dir in dir_inf.GetDirectories()) { if (Directory.Exists(end_dir + "\\" + dir.Name) != true) { Directory.CreateDirectory(end_dir + "\\" + dir.Name); } perebor_updates(dir.FullName, end_dir + "\\" + dir.Name); } foreach (string file in Directory.GetFiles(begin_dir)) { string filik = file.Substring(file.LastIndexOf('\\'), file.Length - file.LastIndexOf('\\')); File.Copy(file, end_dir + "\\" + filik, true); } }
пробовал запускать с админ правами таже картина
Решение задачи: «Копирование папок»
textual
Листинг программы
using System; using System.IO; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { CopyDirectory(@"E:\Новая папка\ChartingAutomation", @"E:\Новая папка\destFolder"); Console.ReadLine(); } private static void CopyDirectory(string sourceDirectoryPath, string destinationDirectoryPath) { try { var sourceDirectoryInfo = new DirectoryInfo(sourceDirectoryPath); var destinationDirectoryInfo = new DirectoryInfo(Path.Combine(destinationDirectoryPath, sourceDirectoryInfo.Name)); if (!destinationDirectoryInfo.Exists) { destinationDirectoryInfo.Create(); } CopyDirectoryRecursive(sourceDirectoryPath, destinationDirectoryInfo.FullName); } catch (Exception) { } } private static void CopyDirectoryRecursive(string sourceDirectoryPath, string destinationDirectoryPath) { var sourceDirectoryInfo = new DirectoryInfo(sourceDirectoryPath); var destinationDirectoryInfo = new DirectoryInfo(destinationDirectoryPath); if (!sourceDirectoryInfo.Exists) return; try { if (!destinationDirectoryInfo.Exists) destinationDirectoryInfo.Create(); foreach (var fileInfo in sourceDirectoryInfo.GetFiles()) { try { File.Copy(fileInfo.FullName, Path.Combine(destinationDirectoryInfo.FullName, fileInfo.Name)); } catch (Exception) { //Обработка ошибок при копировании файла. } } foreach (var directoryInfo in sourceDirectoryInfo.GetDirectories()) { CopyDirectoryRecursive(directoryInfo.FullName, Path.Combine(destinationDirectoryInfo.FullName, directoryInfo.Name)); } } catch (Exception) { } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д