如果我理解正确,您已指定以下源目录和目标目录:
var source = @"C:\TestArea\Destination\SUP000001\20041202 - 01 - 0002 - 001\NAC";
var dest = @"C:\TestArea\Destination\SUP000001\20041202-01-0002-001";
你想复制
NAC
目录(及其所有内容)
source
到
destination
目录,但问题是
南汽
20041202-01-0002-001
文件夹,当您真的希望以如下路径结束时(以及
南汽
目录):
@"C:\TestArea\Destination\SUP000001\20041202-01-0002-001\NAC"
destination = Path.Combine(destination, sourceDir.Name);
private static void CopyDirectory(string source, string destination)
{
var sourceDir = new DirectoryInfo(source);
if (!sourceDir.Exists) throw new DirectoryNotFoundException(nameof(source));
// Add last directory of source to destination and create it
destination = Path.Combine(destination, sourceDir.Name);
Directory.CreateDirectory(destination);
// Copy files from source to destination
foreach (var file in sourceDir.GetFiles())
{
file.CopyTo(Path.Combine(destination, file.Name));
}
// Recursively copy sub directories from source to destination
foreach (var subDir in sourceDir.GetDirectories())
{
CopyDirectory(subDir.FullName, destination);
}
}