Board logo

标题: 求助..同步文件,删除多余文件 [打印本页]

作者: yyqkcb     时间: 2007-1-8 19:24    标题: 求助..同步文件,删除多余文件

谢谢大家在百忙之中来看我帖..
废话我就不多说了.我就开始夸夸其谈了.因为才开始学批处理.所以很多问题不懂.求教一下大大们啦

我现在的问题,就是一个对比
我现在做的这个对比.
比如

@xcopy /d/e/r/y \\192.168.0.251\net$\数据库\* e:\数据库\

就是这个.它把服务器上面的修改过 和更新过的 完全对比下来.可是.我想.把下面E盘的数据库下的文件完全和服务器一致.可是多的文件他不会自动删.
问题就是这个重点了.我想把它的 修改和更新过的文件 可以复制下来.但是我又不想下面有的上面也复制过来.如果要把下面机器多余的文件删掉的命令是什么呢?

[ Last edited by yyqkcb on 2007-1-8 at 12:30 PM ]
作者: yyqkcb     时间: 2007-1-9 00:19
不要看帖不回帖啊~~~
作者: kernelv     时间: 2007-1-9 00:36
回贴了。楼主还是把标题改下的好,路过路过。。
作者: qasa     时间: 2007-1-9 01:34
你说的“可是多的文件他不会自动删“。
这些文件不是你更新过来的吗?之前什么才是多余的文件??你要保留的是什么文件?
对比过之后,旧的文件会被新的文件代替.
作者: vkill     时间: 2007-1-9 02:23
可以 dir 来写到文件来比较
作者: yyqkcb     时间: 2007-1-9 03:07
我指的是 客户机数据库文件夹上面的一些多余文件 .
看来4楼的没看懂.
再看看 再发贴回答我的问题吧。谢谢!

5楼的大哥,我只需要更新和替换掉旧文件.但是前提本机上的多余文件或者文件夹比服务器上的多的话,那就要删出掉.如何写?谢谢.或者要写两个.这些我都没关系.我只想把这些多余的删掉而已!
作者: tghksj     时间: 2007-1-9 05:08
下载并安装 XXCOPY
XXCOPY \\192.168.0.251\net$\数据库 e:\数据库  /pb /s /k /h /bi /yy /zy

/pb 是XXCOPY的个性独有进度条
/s 所有文件及文件夹
/k 保持文件的属性
/h 复制系统文件和隐藏文件
/bi 只更新 时间/大小 不同的文件
/yy 遇到所有询问都选YES
/zy 删除只在目标里存在的文件 遇到询问总是选YES
作者: mmdos     时间: 2007-1-9 05:09
可以先全部删除再同步复制呀.
作者: yyqkcb     时间: 2007-1-9 05:31
感谢7楼的大哥. 不过最后一个 你是不是说错了。应该是删除目标里不存在的文件

8楼的兄弟,我就是不想这样才来发贴的.如果要删 的话. 我也知道怎么做的.
不过还是谢谢你帮顶。
感谢~~
作者: tghksj     时间: 2007-1-9 23:30
.....郁闷.....目标是 e:\数据库
作者: NaturalJ0     时间: 2007-1-10 00:07
举个本地例子,你照着试下。
比如当前目录下有 A B 两目录
要删除在 A 目录中有,且在 B 目录中没有的文件。
A 相当于本地
B 相当于服务器
你先 dir B /b >B.lst 把 B 中的内容存为文件
然后 for /f "delims=" %%i in (dir A /b) do ( find "%%i" B.lst || del "A\%%i" )
意思是取 A 目录下的所有文件,先取其中一个,去 B 列表中找,如果找不到就删了它,然后再取 A 中的下一个。。。