网上质量参差不齐。终于找到了一个大佬写的非常实用。

坎大哈

public static void CopyDirectory(string srcDir, string tgtDir)
    {
 
        DirectoryInfo source = new DirectoryInfo(srcDir);
        DirectoryInfo target = new DirectoryInfo(tgtDir);

        if (!source.Exists)
        {
            return;
        }
 
        if (!target.Exists)
        {
            target.Create();
        }
 
        FileInfo[] files = source.GetFiles();
 
        for (int i = 0; i < files.Length; i++)
        {
            File.Copy(files[i].FullName, target.FullName + @"/" + files[i].Name, true);
        }
 
        DirectoryInfo[] dirs = source.GetDirectories();
 
        for (int j = 0; j < dirs.Length; j++)
        {
            CopyDirectory(dirs[j].FullName, target.FullName + @"/" + dirs[j].Name);
        }
    }