【 解 説 】
.NETにはDirectory.MoveメソッドやFile.CopyToメソッドはあるのに、Direcotry.CopyToメソッドはありません。ディレクトリごとコピーは自作しなければならないようです。
DirectoryInfoを使用して作成してみました。
【 例 文 】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
//ディレクトリのコピー public static void DirectoryCopy(string sourcePath, string destinationPath) { DirectoryInfo sourceDirectory = new DirectoryInfo(sourcePath); DirectoryInfo destinationDirectory = new DirectoryInfo(destinationPath); //コピー先のディレクトリがなければ作成する if(destinationDirectory.Exists == false) { destinationDirectory.Create(); destinationDirectory.Attributes = sourceDirectory.Attributes; } //ファイルのコピー foreach(FileInfo fileInfo in sourceDirectory.GetFiles()) { //同じファイルが存在していたら、常に上書きする fileInfo.CopyTo(destinationDirectory.FullName + @"\" + fileInfo.Name, true); } //ディレクトリのコピー(再帰を使用) foreach(System.IO.DirectoryInfo directoryInfo in sourceDirectory.GetDirectories()) { DirectoryCopy(directoryInfo.FullName, destinationDirectory.FullName + @"\" + directoryInfo.Name); } } |
■お薦め参考関連資料
Microsoft、Visual Studio、Visual Basic、Visual C#、Windows Vista、Windows Server、SQL Server、Visual C++、Visual Web Developerは、米国 Microsoft Corporationの米国及びその他の国における登録商標または商標です。