我尝试编写一个代码,它将复制来自give目录及其所有子目录的所有文件。 (仅复制文件而不是目录)。
到目前为止我已经
了$scope.finalData
我在这里遇到两个问题。
答案 0 :(得分:1)
确定复制所有子目录,依此类推,省略任何不允许您访问的内容:
在调用copy之前,您需要检查targetDir是否存在。
if (!Directory.Exists(targetDir)) Directory.CreateDirectory(targetDir);
你应该检查它是否可以做到这一点,然后以递归方式将文件夹复制到同一个文件夹中:
public static void Copy(string sourceDir, string targetDir)
{
try
{
foreach(var file in Directory.GetFiles(sourceDir))
try
{ File.Copy(file, Path.Combine(targetDir, Path.GetFileName(file)),true);}
catch {} // you could do other things to handle different issues - like lack of space, etc
foreach(var directory in Directory.GetDirectories(sourceDir))
Copy(directory, targetDir)); // this will go into each subdirectory, and do the same.
}
catch {} // catches unable to access directory you've gone into
}
}
如果您希望将平面转储到文件夹中,通过尝试附加路径等来复制您正在重新创建整个目录结构,则保持最终目标相同。