34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
|
|
public class DirectoryCopyHelper
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public static void CopyDirectory(string srcPath,
|
|||
|
|
string dstPath)
|
|||
|
|
{
|
|||
|
|
// 目标目录不存在则创建
|
|||
|
|
if (!System.IO.Directory.Exists(dstPath))
|
|||
|
|
{
|
|||
|
|
System.IO.Directory.CreateDirectory(dstPath);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 获取源目录下的所有文件和子目录
|
|||
|
|
string[] files = System.IO.Directory.GetFiles(srcPath);
|
|||
|
|
string[] directories = System.IO.Directory.GetDirectories(srcPath);
|
|||
|
|
|
|||
|
|
// 复制文件
|
|||
|
|
foreach (string file in files)
|
|||
|
|
{
|
|||
|
|
string fileName = System.IO.Path.GetFileName(file);
|
|||
|
|
string destFile = System.IO.Path.Combine(dstPath, fileName);
|
|||
|
|
System.IO.File.Copy(file, destFile, true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 递归复制子目录
|
|||
|
|
foreach (string directory in directories)
|
|||
|
|
{
|
|||
|
|
string dirName = System.IO.Path.GetFileName(directory);
|
|||
|
|
string destDir = System.IO.Path.Combine(dstPath, dirName);
|
|||
|
|
CopyDirectory(directory, destDir);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|