using System;
using System.IO;
class Program
{
static void Main()
{
string sourcePath = @"C:\sourceFolder"; // 源文件夹路径
string destinationPath = @"C:\destinationFolder"; // 目标文件夹路径
try
{
CopyDirectory(sourcePath, destinationPath);
Console.WriteLine("文件夹复制成功!");
}
catch (Exception ex)
{
Console.WriteLine($"发生错误: {ex.Message}");
}
}
static void CopyDirectory(string sourceDir, string targetDir)
{
// 确保目标目录存在,如果不存在则创建
if (!Directory.Exists(targetDir))
{
Directory.CreateDirectory(targetDir);
}
// 获取源目录中的所有文件并逐个复制到目标目录
foreach (string file in Directory.GetFiles(sourceDir))
{
string name = Path.GetFileName(file);
string dest = Path.Combine(targetDir, name);
File.Copy(file, dest, true); // true表示覆盖已存在的文件
}
// 递归处理子目录
foreach (string directory in Directory.GetDirectories(sourceDir))
{
string name = Path.GetFileName(directory);
string dest = Path.Combine(targetDir, name);
CopyDirectory(directory, dest);
}
}
}
命名空间和类:
System
和 System.IO
命名空间来处理文件和目录操作。Program
的类,其中包含 Main
方法作为程序的入口点。变量定义:
sourcePath
:源文件夹的路径。destinationPath
:目标文件夹的路径。CopyDirectory 方法:
Directory.GetFiles
获取源文件夹中的所有文件,并逐个复制到目标文件夹中。File.Copy
方法复制文件,第三个参数 true
表示如果目标文件已经存在,则覆盖它。Directory.GetDirectories
获取源文件夹中的所有子目录,并递归调用 CopyDirectory
方法处理每个子目录。异常处理:
try-catch
块捕获可能发生的异常,并输出错误信息。控制台输出:
上一篇:c#正则表达式提取文本
下一篇:c# crc16校验
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站