Robocopy是在Windows上批量复制文件的最可靠且功能最丰富的方法。但是,它是一个命令行工具。
我正在寻找一个库/ API,我可以在我的程序中做同样的事情。我尝试使用Process.Start(),但是我必须捕获并解析stdout以获取进度条,并且无法覆盖覆盖行为。
例如,在委托函数上排除文件库;重命名文件,如果它更旧; (重新)根据某些事件开始复制。
我猜复制,xcopy,递归复制等等,应该是程序员重新发明的最频率轮。我错过了任何API /库吗?
答案 0 :(得分:8)
我意识到这是一个非常古老的帖子,但万一有人偶然发现它......
我在c#中编写了一个名为RoboSharp的robocopy包装器。它完全符合OP最初的要求。
答案 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重用该功能的最大程度是使用命令行参数分叉子进程。