是否有Robocopy的API包装器?

时间:2008-12-13 14:45:09

标签: .net windows api robocopy

Robocopy是在Windows上批量复制文件的最可靠且功能最丰富的方法。但是,它是一个命令行工具。

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

例如,在委托函数上排除文件库;重命名文件,如果它更旧; (重新)根据某些事件开始复制。

我猜复制,xcopy,递归复制等等,应该是程序员重新发明的最频率轮。我错过了任何API /库吗?

3 个答案:

答案 0 :(得分:8)

我意识到这是一个非常古老的帖子,但万一有人偶然发现它......

我在c#中编写了一个名为RoboSharp的robocopy包装器。它完全符合OP最初的要求。

https://github.com/tjscience/RoboSharp

答案 1 :(得分:2)

似乎有些东西会在其上放置一个GUI,例如Synchronizing Images and Files in Windows Vista and XP Using Microsoft SyncToy(论坛here)和Utility Spotlight - Robocopy GUI。我还没有找到API,也没有找到Robocopy暴露ActiveX风格的控件。

编辑Robocopy的相当大的在线描述说明了

  

Robocopy“Jobs”和“MOnitor source”选项提供了一种替代方法,可以使用RoboCopy命令设置计划任务以运行批处理文件。

可能有帮助。可能不会。

答案 2 :(得分:2)

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

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