有没有Robocopy的API封装?

9

Robocopy是Windows上批量复制文件的最佳可靠和功能丰富的方式。然而,它是一个命令行工具。

我正在寻找一个库/API,以便在我的程序中执行相同的操作。我尝试使用Process.Start(),但是我必须捕获并解析stdout以获取进度条,并且无法控制覆盖行为。

例如,基于委托函数排除文件;如果文件较旧,则重命名文件;(重新)根据某些事件启动复制。

我猜复制、xcopy、递归复制等应该是程序员经常要重复造轮子的操作。我错过了哪些API/库吗?

3个回答

12

我知道这是一个非常古老的帖子,但以防万一有人偶然发现它...

我用C#编写了一个称为RoboSharp的robocopy包装器,它正是最初由OP请求的那样。

https://github.com/tjscience/RoboSharp


3

感谢您的回答,经过进一步研究,我相信该API不存在。

从Robocopy中重复使用功能的最大程度是使用命令行参数分叉一个子进程。


2
似乎有一些东西可以在上面放一个GUI,例如使用Microsoft SyncToy在Windows Vista和XP中同步图像和文件(论坛在这里)和实用程序专题 - Robocopy GUI。我还没有找到API,也不知道Robocopy是否公开ActiveX样式的控件。

编辑:关于Robocopy的在线描述相当大,其中提到:

Robocopy“作业”和“监视源”选项提供了一种替代方法,可以设置定期运行带有RoboCopy命令的批处理文件而不是设置计划任务。

可能有所帮助。也可能没有。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接