使用文件结构将所有文件从源目录复制到 C# 中的目标目录

Copy all files from source directory to target directory in C# with file structure

我想将文件列表从源目录复制到目标目录。

Source\a.bat
Source\test\a.bat

Dest\a.bat
Dest\test\a.bat

我正在尝试做的事情

public static void ReplicateFile(List<string> files, ref string destinatonFilePath){
      foreach (var file in files)
            {
                var directory = Path.GetDirectoryName(file);
                var fileName = Path.GetFileName(file);
                var destDir = Path.Combine(destinatonFilePath, directory);

                if (!string.IsNullOrEmpty(destDir))
                    CreateDirectory(new DirectoryInfo(destDir));

                if (fileName != null) File.Copy(file, Path.Combine(destDir, fileName), true);
            }
}

我是 C# 的新手,对于愚蠢的错误深表歉意。有什么优雅的方法可以做到这一点吗?

由于 files 的列表包含以下结构 a.battest\a.bat。 有创建相同结构的目录函数吗?

MSDN 有一个例子:

How to: Copy Directories