using System;
using System.IO;
class Program
{
static void Main()
{
string sourceFolder = @"C:\source"; // 源文件夹路径
string destinationFolder = @"C:\destination"; // 目标文件夹路径
try
{
CopyFolder(sourceFolder, destinationFolder);
Console.WriteLine("文件夹复制成功!");
}
catch (Exception ex)
{
Console.WriteLine("复制文件夹时出错: " + ex.Message);
}
}
static void CopyFolder(string source, string target)
{
// 确保目标文件夹存在
if (!Directory.Exists(target))
{
Directory.CreateDirectory(target);
}
// 获取源文件夹中的所有文件并复制到目标文件夹
foreach (string file in Directory.GetFiles(source))
{
string name = Path.GetFileName(file);
string dest = Path.Combine(target, name);
File.Copy(file, dest, true);
}
// 递归处理子文件夹
foreach (string directory in Directory.GetDirectories(source))
{
string name = Path.GetFileName(directory);
string dest = Path.Combine(target, name);
CopyFolder(directory, dest);
}
}
}
System
和System.IO
命名空间,定义了一个名为Program
的类。Main
方法中,指定了源文件夹和目标文件夹的路径,并调用CopyFolder
方法进行文件夹复制。如果复制过程中发生异常,则会捕获异常并输出错误信息。Directory.GetFiles
获取源文件夹中的所有文件,并逐个复制到目标文件夹。Directory.GetDirectories
获取源文件夹中的所有子文件夹,并递归调用CopyFolder
方法来处理这些子文件夹。这样可以确保整个文件夹结构(包括所有子文件夹及其内容)都被完整地复制到指定的目标文件夹中。
上一篇:c# gui
下一篇:c# list foreach
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站