我是 Windows 7 用户,正在寻找一种可以将源结构精确复制到目标结构的同步工具。
场景如下:
- 我有一台笔记本电脑,用来保存我每天的项目。无论去学校还是在家,我都会带着这台笔记本电脑。
- 在学校,我有一个房间,里面放着一个外置硬盘,用于备份我的笔记本电脑数据。到学校后,我总是将外置数据与笔记本电脑同步。离开学校前,如果我对笔记本电脑数据做了一些修改,我也会进行同步。
- 当我到家和离开家时,我也会做同样的事情。
- 由于一些试用软件,我每个月都会重新格式化我的笔记本电脑。
我正在使用 SyncToy 2.1 将外部驱动器与笔记本电脑同步。问题如下。
在格式化笔记本电脑之前,我会将所有外部驱动器与笔记本电脑同步。例如,
我的笔记本电脑结构:
c:\data\file1.ext
c:\data\folder1\file2.ext
外置驱动结构:
d:\data\file1.ext
d:\data\folder1\file2.ext
重新格式化笔记本电脑后,我将 移至file1.ext
。folder1
因此我的笔记本电脑结构变为,
c:\data\folder1\file1.ext
c:\data\folder1\file2.ext
如果我将外部驱动器与笔记本电脑同步,我会得到
d:\data\file1.ext
d:\data\folder1\file1.ext
d:\data\folder1\file2.ext
我想要该工具也能删除d:\data\file1.ext
。该怎么做?
答案1
您所描述的工具是“rsync”。
它最初在 Unix 上诞生,但与所有有用的工具一样,现在已经移植到大多数操作系统,包括 Windows。
Rsync 提供了多种选项,包括当文件不再位于源位置时从目标位置删除它们,如您的示例所示。
至于使用哪个版本的 rsync,恐怕我真的无法建议,每个版本都有不同的优点和缺点,我建议您尝试一下,看看哪个最适合您的喜好。
我可以说 cygwin(几乎所有的 Unix 工具都移植到 Windows)非常好,值得一看。