我正在考虑将备份实用程序作为我的下一个项目想法,但我真的不知道从哪里开始或应该如何进行备份。
任何人都可以对归档备份和恢复等的方法有所了解。
谢谢
首先,我认为我在 .NET Framework 中没有看到任何专门为备份/归档/恢复活动设计的命名空间或类。如果有人知道,请不吝赐教!
最简单的备份文件就是将文件从一个位置复制到另一个位置。假设您有想要维护备份的源代码,并且它每天都在变化。您可以创建一个小型控制台应用程序,该应用程序只需将目标文件夹中的所有文件复制到外部驱动器,覆盖自上次复制操作以来更改的所有文件,并将任何新文件和文件夹添加到目标。然后使用计划任务每天在不使用计算机时运行该实用程序一次 - 或者至少在不编辑源时。
System.IO 命名空间中有许多方法和类,这将使这相对容易做到。
IO 命名空间中一些有用的类是:
这是一个代码示例,它将为您提供 C: 驱动器根目录下的所有顶级文件夹的数组:
string[] d = Directory.GetDirectories(@"C\", "*.*", SearchOption.TopDirectoryOnly);
DirectoryInfo[] di = new DirectoryInfo[d.Length];
for (int x = 0; x < d.Length; x++)
{
di[x] = new DirectoryInfo(d[x]);
}
一种更简单的方法是:
如果你只是想复制文件,那么你可以使用 DirectoryInfo 和 FilesInfo 来获取目录、文件,并执行 FileCopy、FileMove 等...
如果你想在目的地压缩文件,那么你可以使用现有的库,比如 7z,它也有 C# 的代码。
AlphaVSS将完整的 VSS(卷影复制服务)API 公开给 .NET 代码。这可以让您使用托管代码创建时间点的快照。
通读这篇Wikipedia 文章 - 备份并确保您了解其中的所有内容。
最简单的备份实用程序是允许用户选择源文件夹和目标文件夹,然后将其复制。(因为这就是备份本质上的全部)。
但是您将需要一些递归文件夹调用来备份文件夹中的每个文件夹。