Как скопировать файлы и папки на C#
Цитата: Виталий от 09.01.2023, 02:28Приветствую,кто может помочь с кодом.
нужны такие действия:
1. скопировать файлы и папки с папки C:\Sandbox
2. в папку C:\Sandbox2
3. удалить папку C:\SandboxЗаранее благодарю за помощь!
Приветствую,кто может помочь с кодом.
нужны такие действия:
1. скопировать файлы и папки с папки C:\Sandbox
2. в папку C:\Sandbox2
3. удалить папку C:\Sandbox
Заранее благодарю за помощь!
Цитата: Mikhail от 09.01.2023, 06:21Привет.
Давно в C# не работал, 100% есть короче, лучше =)
[spoiler title="Копирование"]void CopyDirectory(DirectoryInfo source, DirectoryInfo destination) { if (!destination.Exists) { destination.Create(); } FileInfo[] files1 = source.GetFiles(); foreach (FileInfo file in files1) { file.CopyTo(Path.Combine(destination.FullName, file.Name), true); } DirectoryInfo[] dirs = source.GetDirectories(); foreach (DirectoryInfo dir in dirs) { string destinationDir = Path.Combine(destination.FullName, dir.Name); CopyDirectory(dir, new DirectoryInfo(destinationDir)); } }[/spoiler]
[spoiler title="Использование"]{ DirectoryInfo sourceDir = new DirectoryInfo(@"C:\Sandbox"); DirectoryInfo destinationDir = new DirectoryInfo(@"C:\Sandbox2"); CopyDirectory(sourceDir, destinationDir); }[/spoiler]
Удалить папку потом
if (Directory.Exists(@"C:\Sandbox")) Directory.Delete(@"C:\Sandbox", true);
Привет.
Давно в C# не работал, 100% есть короче, лучше =)
void CopyDirectory(DirectoryInfo source, DirectoryInfo destination)
{
if (!destination.Exists)
{
destination.Create();
}
FileInfo[] files1 = source.GetFiles();
foreach (FileInfo file in files1)
{
file.CopyTo(Path.Combine(destination.FullName,
file.Name), true);
}
DirectoryInfo[] dirs = source.GetDirectories();
foreach (DirectoryInfo dir in dirs)
{
string destinationDir = Path.Combine(destination.FullName, dir.Name);
CopyDirectory(dir, new DirectoryInfo(destinationDir));
}
}
{
DirectoryInfo sourceDir = new DirectoryInfo(@"C:\Sandbox");
DirectoryInfo destinationDir = new DirectoryInfo(@"C:\Sandbox2");
CopyDirectory(sourceDir, destinationDir);
}
Удалить папку потом Скопированоif (Directory.Exists(@"C:\Sandbox")) Directory.Delete(@"C:\Sandbox", true);
Цитата: Виталий от 10.01.2023, 17:15Спасибо,буду пробовать!
Спасибо,буду пробовать!