c# 目录复制
时间: 2023-12-05 22:13:31 浏览: 73
在 C# 中,可以使用 `Directory` 类的 `Copy` 方法来实现目录复制操作。以下是一个示例代码,可以将一个目录及其子目录和文件复制到指定的目标目录。
```csharp
using System.IO;
public static void CopyDirectory(string sourceDir, string targetDir)
{
if (!Directory.Exists(targetDir))
{
Directory.CreateDirectory(targetDir);
}
DirectoryInfo sourceDirInfo = new DirectoryInfo(sourceDir);
FileInfo[] files = sourceDirInfo.GetFiles();
foreach (FileInfo file in files)
{
string targetFilePath = Path.Combine(targetDir, file.Name);
file.CopyTo(targetFilePath, false);
}
DirectoryInfo[] subDirs = sourceDirInfo.GetDirectories();
foreach (DirectoryInfo subDir in subDirs)
{
string targetSubDirPath = Path.Combine(targetDir, subDir.Name);
CopyDirectory(subDir.FullName, targetSubDirPath);
}
}
```
在调用该方法时,只需传入源目录和目标目录的路径即可:
```csharp
CopyDirectory("C:\\SourceFolder", "C:\\TargetFolder");
```
注意,如果目标目录已存在,则会抛出 `IOException` 异常。如果需要强制覆盖目标目录中已经存在的文件,请将 `CopyTo` 方法的第二个参数设置为 `true`。
阅读全文