【问题标题】:Sync two folders using batch file使用批处理文件同步两个文件夹
【发布时间】:2014-10-07 19:38:31
【问题描述】:

我想使用批处理文件来同步 Windows 上的 2 个文件夹,我正在使用这样的 xcopy 命令

xcopy /s /d <Original Folder> <Destination Folder>

它工作得很好,因为我只想覆盖修改过的那些,但是我有一个小问题,当我从原始文件夹中删除一个文件时,当我运行批处理文件时,该文件保留在目标文件夹中,破坏了我想实现的同步...我认为这不能用 xcopy 完成,但我不知道应该使用哪个命令以防我删除原始文件夹中的文件。

编辑:这个程序是为那些不了解很多 PC 的人准备的,所以我不想在他们的 PC 上安装任何东西。只需要一个普通的批处理文件来保持 2 个文件夹同步

解决方案:感谢 Kuba Wyrostek,我得到了这个命令

robocopy /e /purge

感谢大家的宝贵时间

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    xcopy 没有这样的选项。您的选择是:

    rsync - http://rsync.samba.org

    robocopy - http://technet.microsoft.com/en-us/library/cc733145.aspx

    【讨论】:

      【解决方案2】:

      要完善您的答案,您只需执行以下操作: robocopy &lt;Original Folder&gt; &lt;Destination Folder&gt; /mir

      /mir 镜像目录树(相当于/e 加上/purge)。

      【讨论】:

        【解决方案3】:

        将更新从一个文件夹复制到另一个文件夹的 XCOPY 命令如下:

        C:\> XCOPY C:/SOURCE D:/DESTINATION /E /D /C /Y
        

        上例中使用的标志位含义如下:

        • /E 导致复制所有文件夹和子文件夹
        • /D 导致进行 DATE 比较,仅复制比 DESTINATION 项目新的项目。如果 DESTINATION 较旧或不包含该文件,则将被复制。
        • /C 告诉 XCOPY 在遇到错误时继续 - 通常错误发生在只读文件或具有受保护权限的文件中
        • /Y 告诉 XCOPY 禁止提示您确认,如果您打算创建自动化脚本或计划任务,这是必要的

        【讨论】:

        • 这没有回答原来的问题。
        • @geisterfurz007 你确定这不是原版吗?那篇文章没有日期,但它最早的 disqus 评论是在这篇文章 之后 10 个月。如果您认为某个帖子被抄袭,请举起版主标记。
        • @RyanBemrose Argh 我做了什么>。> 漂亮的小细节和一个我什至没有想到的想法。拿走了我的评论并投反对票。感谢您对未来潜在案例的注释和提示:)
        【解决方案4】:

        我知道这是旧的,但我有一个问题。这不能用正确的 xcopy 命令来完成吗?

        文件夹 1:c:\workingFolder\"这里的内容"

        文件夹 2:d:\workingFolderSync\"contents here"

        下面的批处理文件

        xcopy "c:\workingFolder\*.*" "d:\workingFolderSync\" /i /s /d /y
        xcopy "d:\workingFolderSync\*.*" "c:\workingFolder\" /i /s /d /y
        pause
        

        (我通常在测试并知道批处理有效后删除暂停。) 但这只会将文件夹中的内容复制到另一个较新的文件夹。 然后它在目标文件夹中查找并将内容从目标复制回源(如果它较新)。这重现了同步的作用,除了对修改文件的实时监控。创建适当的任务计划实际上可以实现在特定时间运行此命令以几乎完美地重现同步。您也可以在机器上修改之前和机器上修改之后运行它。如果您使用网络驱动器进行同步,即使在第二台机器上执行相同的操作。

        【讨论】:

          【解决方案5】:

          你的方法会有两个主要问题:

          • 下次运行 xcopy 时,从一个文件夹中删除的文件将由另一个文件夹中的副本恢复
          • 重命名文件会导致结果混乱。

          【讨论】:

          • 答案如何?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-02-01
          • 2016-10-23
          • 1970-01-01
          • 2016-06-06
          • 1970-01-01
          • 2018-02-24
          • 1970-01-01
          相关资源
          最近更新 更多