使用Robocopy仅复制更改的文件?

Cyb*_*ist 24 asp.net msbuild robocopy web-deployment

我正在尝试找到一种简单的方法,只将已更改的文件部署到Web服务器以进行部署.在过去我曾经使用过MSBuild,可以告诉他只复制比目标文件更新的文件,但是我很着急并且不想试图找出更新版本的MSBuild.

我可以使用ROBOCOPY吗?有一个排除选项列表,它是:

  • / XC :: eXclude已更改的文件.
  • / XN :: eXclude较新的文件.
  • / XO :: eXclude旧文件.
  • / XX :: eXclude eXtra文件和目录.
  • / XL :: eXclude孤独的文件和目录.

排除究竟是什么意思?排除复制或排除覆盖?例如,如果我写道:

ROBOCOPY C:\ SourceFolder\ABC.dll D:\ DestinationFolder/XO

这会复制更新的文件,而不是相同年龄的文件吗?

或者有更好的工具来做到这一点?

Fil*_*urt 35

回答你的所有问题:

我可以使用ROBOCOPY吗?

是的,RC应符合您的要求(简单,只需复制所需)


排除究竟是什么意思?

它将排除复制 - RC称其为跳过


/XO选项是否只复制较新的文件,而不复制相同年龄的文件?

是的,RC只会复制较新的文件.将跳过相同年龄的文件.

(正确的命令是robocopy C:\SourceFolder D:\DestinationFolder ABC.dll /XO)


也许在你的情况下使用该/MIR选项可能是有用的.通常,RC比单个文件更专注于目录和目录树.