Robocopy 是在 Windows 上批量复制文件的最可靠且功能丰富的方法。但是,它是一个命令行工具。
我正在寻找可以在我的程序中执行相同操作的库/API。我尝试使用 Process.Start(),但随后我必须捕获并解析 stdout 以获取进度条,并且无法覆盖行为。
例如,基于委托功能排除文件;如果文件较旧,则重命名文件;(重新)根据某些事件开始复制。
我猜copy、xcopy、recursive copy等等,应该是程序员最常改造的频率。有没有我错过的 API/库?
我意识到这是一个非常古老的帖子,但以防万一有人偶然发现它......
我在 c# 中为 Robocopy 编写了一个名为 RoboSharp 的包装器。它完全符合 OP 最初的要求。
感谢您的回答,经过更多研究,我相信 API 不存在。
重用 Robocopy 功能的最大程度是使用命令行参数分叉一个子进程。
似乎有一些东西可以在上面放置一个 GUI,例如在 Windows Vista 和 XP 中使用 Microsoft SyncToy(此处为论坛)和Utility Spotlight - Robocopy GUI同步图像和文件。我还没有找到 API,也没有找到 Robocopy 是否公开 ActiveX 样式的控件。
编辑: Robocopy的相当大的在线描述说明了一些关于
Robocopy 'Jobs' 和 'MOnitor source' 选项提供了设置计划任务以使用 RoboCopy 命令运行批处理文件的替代方法。
可能有帮助。可能不。