|
■No99837 (河童 さん) に返信
こうかな
public int Set_CopyDirectory(string CopyFldName, string PasteFldName)
{
int iRet = 0;
//コピー先のディレクトリがないときはエラー
if (!Directory.Exists(PasteFldName))
{
return -1;
}
//コピー元のディレクトリにあるファイルをコピー ※ここで並列処理
string[] files = Directory.GetFiles(CopyFldName);
Parallel.ForEach(files, (file) =>
{
File.Copy(file, Path.Combine(PasteFldName, Path.GetFileName(file)), true);
});
//コピー元のディレクトリにあるディレクトリについて、再帰的に呼び出す
string[] dirs = Directory.GetDirectories(CopyFldName);
foreach (string dir in dirs)
{
Set_CopyDirectory(Path.Combine(CopyFldName, dir), PasteFldName);
}
return iRet;
}
|