9

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

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

例如,基于委托功能排除文件;如果文件较旧,则重命名文件;(重新)根据某些事件开始复制。

我猜copy、xcopy、recursive copy等等,应该是程序员最常改造的频率。有没有我错过的 API/库?

4

3 回答 3

12

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

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

https://github.com/tjscience/RoboSharp

于 2014-10-23T16:12:27.913 回答
3

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

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

于 2009-11-29T14:19:58.320 回答
2

似乎有一些东西可以在上面放置一个 GUI,例如在 Windows Vista 和 XP 中使用 Microsoft SyncToy此处为论坛)和Utility Spotlight - Robocopy GUI同步图像和文件。我还没有找到 API,也没有找到 Robocopy 是否公开 ActiveX 样式的控件。

编辑: Robocopy的相当大的在线描述说明了一些关于

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

可能有帮助。可能不。

于 2008-12-13T15:39:02.277 回答