递归复制文件夹内容

代码:
private int CopyDirectory(string sourceDir, string targetDir)
{
    try
    {
        // 确保目标目录存在,如果不存在则创建
        Directory.CreateDirectory(targetDir);

        // 获取源目录中的所有文件
        foreach (string file in Directory.GetFiles(sourceDir))
        {
            string fileName = Path.GetFileName(file);
            string destinationFile = Path.Combine(targetDir, fileName);
            File.Copy(file, destinationFile, overwrite: true);
        }

        // 递归复制子目录
        foreach (string directory in Directory.GetDirectories(sourceDir))
        {
            string directoryName = Path.GetFileName(directory);
            string destinationDirectory = Path.Combine(targetDir, directoryName);
            CopyDirectory(directory, destinationDirectory);
        }
        return 0;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        return -1;
    }

}

 

posted @ 2025-04-02 10:28  .五十米深蓝  阅读(16)  评论(0)    收藏  举报