有没有办法 xcopy 刚刚更改的文件或新文件?

leo*_*ora 72 xcopy deployment windows-xp

我正在尝试将一个网站从我的桌面部署到我的网络服务器,所以现在我正在这样做:

 xcopy C:\source X:\destination /s
Run Code Online (Sandbox Code Playgroud)

我的桌面是 Windows XP 机器,我需要复制到 Windows Server 2008 机器上,但是这会复制所有内容,整个站点非常大,复制完成需要很长时间。

有没有办法专门复制新的或更新的文件?我看到您可以传入更改日期,但我想看看是否有更简单的方法来与目标文件进行比较...

另外,我愿意使用 xcopy 之外的任何可以完成这项工作的东西......

Mar*_*ark 111

XCOPY文档

/d[:mm-dd-yyyy] :仅复制在指定日期或之后更改的源文件。如果不包括 mm-dd-yyyy 值,xcopy 将复制比现有目标文件更新的所有源文件。此命令行选项允许您更新已更改的文件。

所以,在你的例子中,它应该是:

xcopy C:\source X:\destination /s /d
Run Code Online (Sandbox Code Playgroud)

  • 不,日期是可选的!这就是为什么它在方括号中。你真的读过那行吗?它说它完全符合您的要求! (13认同)
  • 虽然文档准确地说明了它,但很容易忽略 `/d`,因为日期是可选的 ** 不是那么突出**,然后查看其他选项并认为没有解决方案。:-) (5认同)
  • 这个答案唯一需要注意的是 Web 服务器和您的工作站设置为同一时间!如果他们不都使用 NTP,这可能会丢失文件或复制不必要的文件。 (4认同)
  • "/d" 似乎你必须给它一个日期。正如问题中提到的,我没有想到截止日期。我只想复制新的和更新的文件 (2认同)
  • 如果目标文件夹中不存在文件,似乎没有指定日期的 /D 将复制它,这可能不是预期的结果。 (2认同)

小智 26

Robocopy也是一个不错的选择:

默认情况下,如果源和目标具有不同的时间戳或不同的文件大小,Robocopy 只会复制文件。

此外,您还可以做更多的事情——mirror 命令对于您删除文件的网站也很方便。