是的,C#中的Directory
類提供了方法來復制目錄。以下是一個示例代碼,展示了如何使用Directory.Copy
方法來復制目錄及其內容:
using System;
using System.IO;
class Program
{
static void Main()
{
// 源目錄路徑
string sourceDirectory = @"C:\Source\Directory";
// 目標目錄路徑
string targetDirectory = @"C:\Destination\Directory";
// 復制目錄
DirectoryCopy(sourceDirectory, targetDirectory, true);
Console.WriteLine("目錄復制完成。");
}
static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
DirectoryInfo[] dirs = dir.GetDirectories();
// 如果目標目錄不存在,則創建它
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
// 復制目錄中的所有文件和子目錄
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
string tempPath = Path.Combine(destDirName, file.Name);
file.CopyTo(tempPath, false);
}
// 如果需要復制子目錄,則遞歸調用此方法
if (copySubDirs)
{
foreach (DirectoryInfo subDir in dirs)
{
string tempPath = Path.Combine(destDirName, subDir.Name);
DirectoryCopy(subDir.FullName, tempPath, copySubDirs);
}
}
}
}
在這個示例中,DirectoryCopy
方法接受三個參數:源目錄路徑、目標目錄路徑和一個布爾值,指示是否復制子目錄。copySubDirs
參數設置為true
時,會遞歸復制所有子目錄及其內容。