0
private void btn_Backup_Click(object sender, EventArgs e)
{
List<DirectoryInfo> SourceDir = this.lbox_Sources.Items.Cast<DirectoryInfo>().ToList();
List<DirectoryInfo> TargetDir = this.lbox_Targets.Items.Cast<DirectoryInfo>().ToList();
foreach (DirectoryInfo sourcedir in SourceDir)
{
foreach (DirectoryInfo targetdir in TargetDir)
{
string dateString = DateTime.Now.ToString("MM-dd-yyyy_H.mm.ss");
if (this.checkbox_zipfiles.Checked == true)
{
System.IO.Compression.ZipFile.CreateFromDirectory(sourcedir.FullName, targetdir.FullName + @"\BACKUP_" + sourcedir.Name + @"_" + dateString + @".zip");
LogBackup();
}
else
{
foreach (var file in sourcedir.GetFiles()
.Where(f => !extensionsToSkip.Contains(f.Extension) && !filesToSkip.Contains(f.FullName)).ToList())
{
file.CopyTo(targetdir.FullName + @"\" + file.Name, true);
LogBackup();
}
}
}
}
これまでのところ、ファイルに対してのみ動作するこのコードは、フォルダとサブフォルダとフォルダ内のファイルに対してどのように動作させるのですか?特定のファイルとフォルダのみをコピーするプログラムC#
コピーの再帰関数を書きます – TriV
[C#でディレクトリの内容全体をコピーする]の可能な複製(http://stackoverflow.com/questions/58744/copy-the-entire-contents-of-a-directory-in-c-sharp) – PaulF