这应该做的工作
public static void Copy(String srcPath, String destPath)
{
DirectoryInfo srcDirectory = new DirectoryInfo(srcPath);
if (!srcDirectory.Exists) return;
// Creates LIS directory
destPath = Path.Combine(Path.Combine(destPath, srcDirectory.Name));
Directory.CreateDirectory(destPath);
// Creates all sub directories from srcPath to your destPath
foreach (String dirPath in Directory.GetDirectories(srcPath, "*", SearchOption.AllDirectories))
Directory.CreateDirectory(dirPath.Replace(srcPath, destPath));
// Copies all files from all sub directories from srcPath to your destPath
foreach (String copyPath in Directory.GetFiles(srcPath, "*.*", SearchOption.AllDirectories))
File.Copy(copyPath, copyPath.Replace(srcPath, destPath), true);
}
用法:
Copy(@"D:\Working Projects\Alticore\AssetXML\LIS", @"D:\Working Projects\Alticore\AssetXMLProcessed")
如果您不想复制子文件夹或其文件,请删除不需要的 foreach。顺便说一句,它将覆盖复制的文件。