我正在尝试将网站从我的桌面部署到我的网络服务器,因此现在我正在执行以下操作:
xcopy C:\source X:\destination /s
我的桌面是一台 Windows XP 机器,我需要复制到一台 Windows Server 2008 机器,但这会复制所有内容,而且整个站点非常大,需要很长时间才能完成复制。
有没有专门复制新文件或更新文件的方法?我知道您可以传入更改日期,但我想看看是否有更简单的方法来与目标文件进行比较...
此外,我愿意使用 xcopy 之外的任何可以完成这项工作的东西......
答案1
来自复制文档:
/d[:mm-dd-yyyy]:仅复制在指定日期或之后更改的源文件。如果不包含 mm-dd-yyyy 值,xcopy 将复制所有比现有目标文件更新的源文件。此命令行选项允许您更新已更改的文件。
因此,按照你的例子,它应该是:
xcopy C:\source X:\destination /s /d
答案2
Robocopy也是一个不错的选择:
默认情况下,仅当源和目标具有不同的时间戳或不同的文件大小时,Robocopy 才会复制文件。
另外,您还可以做更多的事情 - 镜像命令对于您要删除文件的网站也很方便。
答案3
答案4
我为~80k 个文件和~2k 个文件夹安排了以下任务:
xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log
即使文件或文件夹由于打开或在您运行此计划任务的服务帐户下没有权限而“被拒绝访问”,/C 选项仍会继续复制。
如果您想要附加,“>”每次都会覆盖日志,您可以使用“>>”管道。