中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助..同步文件,删除多余文件
楼 主 求助..同步文件,删除多余文件 发表于 2007-01-08 19:24 ·  中国 广东 广州 荔湾区 电信
新手上路
积分 14
发帖 6
注册 2007-01-08 18:48
UID 75854
性别 男
状态 离线
谢谢大家在百忙之中来看我帖..
废话我就不多说了.我就开始夸夸其谈了.因为才开始学批处理.所以很多问题不懂.求教一下大大们啦

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

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

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

[ Last edited by yyqkcb on 2007-1-8 at 12:30 PM ]
2 发表于 2007-01-09 00:19 ·  中国 广东 广州 荔湾区 电信
新手上路
积分 14
发帖 6
注册 2007-01-08 18:48
UID 75854
性别 男
状态 离线
不要看帖不回帖啊~~~
3 发表于 2007-01-09 00:36 ·  中国 北京 联通
初级用户
积分 47
发帖 24
注册 2007-01-09 00:03
UID 75873
性别 男
状态 离线
回贴了。楼主还是把标题改下的好,路过路过。。
4 发表于 2007-01-09 01:34 ·  中国 广东 湛江 电信
高级用户
★★★
积分 959
发帖 311
注册 2006-04-11 14:08
UID 53665
性别 男
来自 广东-LianJiang
状态 离线
你说的“可是多的文件他不会自动删“。
这些文件不是你更新过来的吗?之前什么才是多余的文件??你要保留的是什么文件?
对比过之后,旧的文件会被新的文件代替.
5 发表于 2007-01-09 02:23 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
可以 dir 来写到文件来比较
6 发表于 2007-01-09 03:07 ·  中国 广东 广州 荔湾区 电信
新手上路
积分 14
发帖 6
注册 2007-01-08 18:48
UID 75854
性别 男
状态 离线
我指的是 客户机数据库文件夹上面的一些多余文件 .
看来4楼的没看懂.
再看看 再发贴回答我的问题吧。谢谢!

5楼的大哥,我只需要更新和替换掉旧文件.但是前提本机上的多余文件或者文件夹比服务器上的多的话,那就要删出掉.如何写?谢谢.或者要写两个.这些我都没关系.我只想把这些多余的删掉而已!
7 发表于 2007-01-09 05:08 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
UID 72412
性别 男
状态 离线
下载并安装 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
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
8 发表于 2007-01-09 05:09 ·  中国 广西 南宁 联通
新手上路
积分 17
发帖 7
注册 2007-01-07 08:57
UID 75710
性别 男
状态 离线
可以先全部删除再同步复制呀.
9 发表于 2007-01-09 05:31 ·  中国 广东 广州 荔湾区 电信
新手上路
积分 14
发帖 6
注册 2007-01-08 18:48
UID 75854
性别 男
状态 离线
感谢7楼的大哥. 不过最后一个 你是不是说错了。应该是删除目标里不存在的文件

8楼的兄弟,我就是不想这样才来发贴的.如果要删 的话. 我也知道怎么做的.
不过还是谢谢你帮顶。
感谢~~
10 发表于 2007-01-09 23:30 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
UID 72412
性别 男
状态 离线
.....郁闷.....目标是 e:\数据库
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
11 发表于 2007-01-10 00:07 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
UID 60484
状态 离线
举个本地例子,你照着试下。
比如当前目录下有 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 中的下一个。。。
论坛跳转: