我正在 Windows 8 上编写一个脚本,用于设置两个文件夹之间的自动文件同步。我正在寻找具有以下属性的同步实用程序(大致按重要性排序):
- 可以从批处理脚本调用,具有合理的文档(不一定是批处理脚本,脚本可以是 Python 或其他语言,但不能使用任何专有软件)
- 自动更新(一旦源文件夹中的项目发生变化,它就会在目标文件夹中更新)
- 自由的
- 增量更新(每次不复制所有文件)
我研究过很多选项,但似乎大多都是带有 GUI 或无法自动更新的实用程序。有什么想法吗?
编辑 谢谢大家。看起来似乎没有任何东西可以完成所有这些事情,但我认为值得一试,以避免重新发明轮子。我会研究 rsync 结合某种文件夹监控实用程序来实现自动更新。
答案1
看看 Robocopy。我相信它仍然与 Windows 8 捆绑在一起,并且可以配置为执行您需要的操作。
答案2
查看这个答案https://stackoverflow.com/questions/528298/rsync-for-windows. 在任何 unix 类型的系统上,rsync 都可以很好地工作
答案3
您可以从命令行创建计划任务:http://www.howtogeek.com/51236/how-to-create-modify-and-delete-scheduled-tasks-from-the-command-line/
SchTasks /Create /SC DAILY /TN “My Task” /TR “C:RunMe.bat” /ST 09:00
并使用 Robocopy 中的适当字符串(包含在大多数最新版本的 Windows 中)告诉它同步文件夹:http://improve.dk/simple-file-synchronization-using-robocopy/
robocopy \\SourceServer\Share \\DestinationServer\Share /MIR /FFT /Z /XA:H /W:5
您可以将 SchTasks 命令中的“C:\RunMe.bat”行替换为所需的 robocopy 参数,以便将所有内容放入单个批处理文件中。不过,出于管理的考虑,我会将它们保留为两个单独的文件,只是放在一起。