private void button1_Click(object sender, EventArgs e)
{
CopyDirectory(null,null,true);
}
public static void CopyDirectory(string SourcePath, string TargetPath, bool Overwrite)
{
// 如果源目录不存在,则退出
if (!Directory.Exists("C:\\1"))
{
return;
}
try
{
// 如果目标路径不存在,则创建此文件夹
if (!Directory.Exists("C:\\2"))
{
Directory.CreateDirectory("C:\\2");
}
}
catch (Exception ex)
{
string ErrInfo = ex.Message;
return;
}
if (Directory.Exists("C:\\2"))
{
// 遍历源路径的文件夹,获取文件名(带路径的)
foreach (string FileName in Directory.GetFiles("C:\\1"))
{
try
{
//复制文件
File.Copy("FileName", Path.Combine("C:\\2", Path.GetFileName(FileName)), Overwrite);
}
catch (Exception ex)
{
string ErrInfo = ex.Message;
}
}
// 子文件夹的遍历
foreach (string SubPath in Directory.GetDirectories("C:\\1"))
{
//复制文件
CopyDirectory(SubPath, Path.Combine("C:\\2", Path.GetFileName(SubPath)), Overwrite);
}
}
}