c#示例-文件夹增量同步备份

2024-10-12 18:26:07

1、新建名称为“文件夹增量备份”的项目,默认项目存在一个FORM,在这里我们就直接用这个FORM的界面做主界面。

c#示例-文件夹增量同步备份

3、将“fileSystemWatcher”的EnableRaisingEvents属性设置为FALSE,其它属性可以为默认,大家也可以根据具体需求做相应修改。

c#示例-文件夹增量同步备份

5、增加“备份文件夹”和“目标文件夹”的地址浏览代码://按钮一代艨位雅剖码if (folderBrowserD足毂忍珩ialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = folderBrowserDialog1.SelectedPath; }//按钮2代码if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { textBox2.Text = folderBrowserDialog1.SelectedPath; }代码大概意思为通过“folderBrowserDialog”控件,选择路径并赋值给对应的“textBox”控件。

c#示例-文件夹增量同步备份

7、增加文件复制的方法,具体代码如下: public voi蟠校盯昂d CopyDirectory(string sourceDirName, string destDirName) { try { if (!Directory.Exists(destDirName)) { Directory.CreateDirectory(destDirName); File.SetAttributes(destDirName, File.GetAttributes(sourceDirName)); } if (destDirName[destDirName.Length - 1] != Path.DirectorySeparatorChar) destDirName = destDirName + Path.DirectorySeparatorChar; string[] files = Directory.GetFiles(sourceDirName); foreach (string file in files) { if (File.Exists(destDirName + Path.GetFileName(file))) continue; File.Copy(file, destDirName + Path.GetFileName(file), true); File.SetAttributes(destDirName + Path.GetFileName(file), FileAttributes.Normal); } string[] dirs = Directory.GetDirectories(sourceDirName); foreach (string dir in dirs) { CopyDirectory(dir, destDirName + Path.GetFileName(dir)); } } catch (Exception ex) { StreamWriter sw = new StreamWriter(Application.StartupPath + "\\log.txt", true); sw.Write(ex.Message + " " + DateTime.Now + "\r\n"); sw.Close(); } } 复制文件的具体说明,在这里就不做描述了,大家关注下一篇关于文件复制的详细方法文章吧!

c#示例-文件夹增量同步备份

9、点击测试按钮,运行程序,运行后效果见图.

c#示例-文件夹增量同步备份
猜你喜欢