我正在尝试将文件从 WinXP 迁移到 Win8,但它们使用不同的路径。WinXP 使用 C:\Documents and Settings,而 Win8 使用 C:\Users。另外,WinXP 使用 Chloe\My Documents\My Music,而 Win8 使用 Chloe\Music。我想先同步文件,因为不可避免地会出现一些问题(这要看钱),我需要暂时切换回使用旧电脑,但如果我在两台电脑上进行更改,我都不想丢失它们。
我尝试过以下方法,但都失败了:
- 考虑从备份中恢复新计算机上的文件,但它们不在现场并且需要一个月的时间。
- 尝试过 Unison,但它不保留文件修改时间!如果我查看它复制的所有文件,它们都有当前时间。如果我与另一个工具进行比较,它会认为目标较新,并希望同步回原始文件!我有点喜欢修改时间,这样我就可以判断我上次处理文件的时间。它以前很有用,例如在更新简历和填写旧项目的日期时。此外,Unison 会破坏 Cygwin 符号链接和设备文件。
- 尝试了 Microsoft SyncToy,但在复制 My Documents\My Music 后,它给出了一个错误,说传输失败。我查看了目标,文件确实复制了,但神奇地复制到了 Chloe\Music 中。我原本打算在一切安排好后手动复制到 Chloe\Music 中。Chloe\Documents\My Music 中有一个无法读取的文件,我甚至无法双击它,甚至无法以管理员身份双击。拒绝访问!SyncToy 还会忽略所有打开的文件,即使它们已解锁。
- 尝试了 rsync (Cygwin)。这种方法在保存修改时间和权限方面效果最好,并且能够正确处理 Cygwin 符号链接,但速度太慢,而且只是一种方法。
- 考虑过 robocopy,但是 WinXP 无法执行我从 Win8 复制的文件。
(为什么删除此行后它不会格式化为块?)
C:\cygwin\tmp>robocopy.exe
Dialog: "robocopy.exe is not a valid Win32 application."
Access is denied.
答案1
我找到了一个解决方案。我看到另一篇提到同步它的帖子,它工作得很好,速度也很快。它没有破坏 Cygwin 符号链接,而且它保留了修改时间。它不会传播删除,所以你删除的任何内容都会在下次同步时再次出现,但我可以忍受这种情况几个星期,直到我可以退役旧电脑。
答案2
如果您正在寻找一种有效的方法来复制文件同时保留时间戳,请使用 Robocopy 和“/dcopy:t”开关。
至于这个错误:“考虑过 robocopy,但是 WinXP 无法执行我从 Win8 复制的文件。”
它表明存在权限错误 - 检查您是否可以从运行 Robocopy 的机器浏览到另一台机器上的共享。
另外,Robocopy 试图“执行”的文件是什么?你的意思是“复制”对吗?请澄清一下。
如果您尝试在 XP 机器上运行 Windows 8 机器最初附带的 Robocopy.exe 文件,那么这个问题就不足为奇了。您没有提供足够的细节,但如果您的 XP 机器是 32 位,而 Windows 8 是 64 位,那么您尝试在 32 位系统上运行 64 位 exe。
您不需要尝试让 Windows 8 的 Robocopy 与 Windows XP 良好配合,而应该在 Windows 8 机器上实际运行 Robocopy。
答案3
这对于备份文件来说太过深入了。您是否真的有特别的理由想要“同步”所有内容,而不是仅通过外部驱动器备份所有内容?对于每种良好的同步方法,您通常都需要一个中间人(即服务器或某种网络驱动器)。您可以编写许多脚本并在启动时运行它们来为您完成此操作。