【发布时间】:2018-02-14 21:47:43
【问题描述】:
我正在尝试制作一个简单的批处理文件来“同步”我 onedrive 上的文件和网络驱动器上的文件之间的所有内容。
我希望能够运行批处理文件,并且 onedrive 上的任何新内容都将被复制到网络驱动器,而不是相反。
这是我的批处理文件:
@echo off
echo : XCOPY started
xcopy "D:\OneDrive - Radford University\Classwork 2017-2018\Spring 2018" "H:\Spring 2018" /E /D /C /Y /EXCLUDE:C:\exclude.txt
echo : complete
运行时,此文件似乎复制了 80-83 个文件之间的任何位置。尽管我没有对任何一个目录进行任何更改,但每次运行它都会有所不同。
我的理解是 xcopy 的 /D 标志将确保它只复制新文件或具有较新修改日期的文件。但在这种情况下,它似乎复制了我的 exclude.txt 中没有的所有内容,无论修改日期如何。
【问题讨论】:
-
我通常只使用 /M 开关。创建或修改文件时,将设置归档属性。因此,如果您只是告诉 XCOPY 只复制这些文件,您应该没问题。无论如何,您应该考虑只使用 Robocopy。
-
/M 产生了更糟糕的结果,复制了 120 个文件。 Robocopy 看起来不错,但我找不到任何方法让它排除关键字,例如 /exclude 对 xcopy 所做的
-
再次运行它,我敢打赌它不会复制任何东西。复制后会关闭存档属性。
-
Robocopy 有两个可用于排除的开关。 /XF 和 /XD。
-
@SajidAnsari,那么您必须拥有一台仅在您的计算机上执行操作的特殊计算机。就像我妈妈的电脑一样,直到我去那里做同样的事情,它神奇地工作。
标签: batch-file xcopy