【 解 説 】
.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 |
' ディレクトリのコピー Public Shared Sub DirectoryCopy(ByVal sourcePath As String, ByVal destinationPath As String) Dim sourceDirectory As DirectoryInfo = New DirectoryInfo(sourcePath) Dim destinationDirectory As DirectoryInfo = New DirectoryInfo(destinationPath) ' コピー先のディレクトリがなければ作成する If destinationDirectory.Exists = False Then destinationDirectory.Create() destinationDirectory.Attributes = sourceDirectory.Attributes End If ' ファイルのコピー For Each fileInfo As FileInfo In sourceDirectory.GetFiles() ' 同じファイルが存在していたら、常に上書きする fileInfo.CopyTo(destinationDirectory.FullName & "\" & fileInfo.Name, True) Next ' ディレクトリのコピー(再帰を使用) For Each directoryInfo As System.IO.DirectoryInfo In sourceDirectory.GetDirectories() DirectoryCopy(directoryInfo.FullName, destinationDirectory.FullName & "\" & directoryInfo.Name) Next End Sub |
■お薦め参考関連資料
Microsoft、Visual Studio、Visual Basic、Visual C#、Windows Vista、Windows Server、SQL Server、Visual C++、Visual Web Developerは、米国 Microsoft Corporationの米国及びその他の国における登録商標または商標です。