c#实现调用XCopy命令实现目录备份的应用代码实例

博客随笔 C#XCopy命令文件夹备份实时同步备目录备份

元旦前接了一单小私活,之所以找到我大概是因为是 TK精灵-进程守护工具 的用户,觉得体验还不错就找到了我这边希望定制一款文件夹备份小工具.

用户需求大概描述

  1. 核心需求A、B两个目录 监听A的所有文件内容变动备份至B目录
  2. 界面做好看点,集成多个备份任务(原本用的是运行多个bat脚本执行xcpoy进行备份)
  3. 界面需要输出运行日志 以及失败的日志记录 便于后续排查

原本听完需求觉得功能挺简单的,元旦放完假后就开始开发,很快就做出了雏形功能,功能实现的也比较简单,就是简单的目录遍历 然后加一个目录监听。自我测试感觉还挺不错的,于是就交给用户试用,然而用户反馈软件使用却不太理想,比原先使用的xcpoy方式要慢非常多,中间还电话沟通了几次需求,沟通过程总体给人感觉还是很舒适的,理解万岁。

做了很多次备份效率测试,最终结果都是.net 提供的目录遍历 进行大批量(大概有200多GB的数据量)进行复制备份的效率始终比xcopy方式差非常多,最终还是使用了c#调用cmd执行xcpoy的方式进行被反然后读取返回结果输出到前端日志界面。

以下是实现c#调用xcopy备份目录的核心代码

Process XCopyProcess;

string xcopy = $"xcopy \"{this.sourcePath}\" \"{this.outputPath}\" /c/e/I/d/h/r/y";
ProcessStartInfo processStartInfo = new ProcessStartInfo()
{
相关推荐
免责声明 本站部分内容来源于互联网公开资源分享学习交流,若其中有侵犯到了您的权益 还请邮件联系我方删除