使用xcopy或复制备份文件?

我有一个本地驱动器包含每个用户的目录:

C:\ USER1 \
C:\用户2 \
C:\用户3 \

我有一个远程驱动器(通过共享)包含相同的目录树:

F:\ USER1 \
F:\用户2 \
F:\用户3 \

每个目录里面可以是任意数量的文件,但都是.txt。 我一直在试图创build一个batch file,它可以迭代本地目录,并将比X时间戳更新的文件复制到f:上相应的目录中。

有没有办法实现这个使用xcopy或复制加一些批魔术?

谢谢!

编辑:为了避免混淆:我需要parsing用户目录(可以有任何名称),抓住比上次复制的文件更新,并将它们复制到具有相同名称的目录上F:\

复制 不是我想要做的。 更像:

for /f "tokens=*" %%a IN ('dir /bc:\users\*') do call dobackup.bat "%%a" 

或类似的

Robocopy是你的朋友。 它有一个标志,会做你想要的。

 robocopy c:\ f:\ /mir /r:1 /sec 

这将做一个镜像副本,在继续之前重试打开的文件一次,并将复制安全性。 镜像副本还将从F:\中删除不再存在于C:\上的文件,这是xcopy无法执行的操作。 另外,第一次同步后,它只会复制较新的文件。

如果robocopy由于某种原因不可能,那么你可以用xcopyclosures。

 xcopy C:\*.* F:\*.* /S/E/H/D 

这将复制整个C:\结构到F:\,复制隐藏的文件,只复制新的。 它不会从C:\中存在的F:\中删除文件。

编辑:

也许这会做你想做的事情:

  for /D %D in (C:\User*\) do xcopy C:\User%D\*.* F:\User%D /s /e /d 08-01-2010 

这将遍历所有与他们的用户目录,并复制文件比八月一号更新。

好的,如果我把batch file放在C:\ users \然后

 for /D %%a IN (*) do call robocopy %%a\ f:\%%a\ *.txt /mir /r:1 /sec 

作品