Batch file 使用批处理文件同步两个文件夹

Batch file 使用批处理文件同步两个文件夹,batch-file,Batch File,我想用一个批处理文件来同步Windows上的两个文件夹,我使用的是如下的xcopy命令 xcopy /s /d <Original Folder> <Destination Folder> xcopy/s/d 它工作得很好,因为我只想覆盖修改过的文件,但我有一个小问题,当我从原始文件夹中删除一个文件时,当我运行批处理文件时,该文件仍保留在目标文件夹中,破坏了我想要实现的同步。。。我认为这不能用xcopy完成,但我不知道在删除原始文件夹中的文件时应该使用哪个命令 编辑:

我想用一个批处理文件来同步Windows上的两个文件夹,我使用的是如下的xcopy命令

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

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

解决方案:多亏了库巴·维罗斯特克,我得到了这个命令

机器人复制/电子/净化


谢谢大家抽出时间

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

rsync-


robocopy-

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

C:\> XCOPY C:/SOURCE D:/DESTINATION /E /D /C /Y
上述示例中使用的标志具有以下含义:

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

    • 要完善您的答案,您只需执行以下操作:
      robocopy/mir


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

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

      文件夹1:c:\workingFolder\“此处的内容”

      文件夹2:d:\workingFolderSync\“此处的内容”

      下面是批处理文件

      xcopy "c:\workingFolder\*.*" "d:\workingFolderSync\" /i /s /d /y
      xcopy "d:\workingFolderSync\*.*" "c:\workingFolder\" /i /s /d /y
      pause
      
      (我通常在测试并知道批处理工作正常后取消暂停。) 但这只会将内容从文件夹复制到另一个较新的文件夹。
      然后,它在目标文件夹中查找,并将内容从目标文件夹复制回源文件夹(如果它较新)。这再现了同步的功能,除了实时监视修改的文件。创建适当的任务计划实际上可以实现在特定时间运行此命令,以几乎完美地再现同步。您还可以在机器上进行修改之前和修改之后运行此操作。如果您使用网络驱动器进行同步,即使在第二台机器上执行相同的操作。

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

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

      这不能回答原始问题。@geisterfurz007您确定这不是原始问题吗?那篇文章没有日期,但它最早的评论是在这篇文章发表10个月后。如果你认为某篇文章是剽窃的,请举起版主旗帜。@RyanBemrose Argh我做了什么>>漂亮的小细节和一个我甚至没有想到的想法。取消了我的评论,投了反对票。谢谢你的提示和对未来潜在案例的提示:)这是一个怎样的答案?