![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-29 08:00 |
共 47,816 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,265 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助..同步文件,删除多余文件 |
| 可打印版本 3,352 / 10 |
| 第1楼 yyqkcb | 发表于 2007-01-08 19:24 |
| 新手上路 发帖 6 积分 14 | |
|
求助..同步文件,删除多余文件 谢谢大家在百忙之中来看我帖..
废话我就不多说了.我就开始夸夸其谈了.因为才开始学批处理.所以很多问题不懂.求教一下大大们啦 我现在的问题,就是一个对比 我现在做的这个对比. 比如 @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楼 yyqkcb | 发表于 2007-01-09 00:19 |
| 新手上路 发帖 6 积分 14 | |
|
不要看帖不回帖啊~~~
|
|
| 第3楼 kernelv | 发表于 2007-01-09 00:36 |
| 初级用户 发帖 24 积分 47 | |
|
回贴了。楼主还是把标题改下的好,路过路过。。
|
|
| 第4楼 qasa | 发表于 2007-01-09 01:34 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
|
你说的“可是多的文件他不会自动删“。
这些文件不是你更新过来的吗?之前什么才是多余的文件??你要保留的是什么文件? 对比过之后,旧的文件会被新的文件代替. |
|
| 第5楼 vkill | 发表于 2007-01-09 02:23 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
可以 dir 来写到文件来比较
|
|
| 第6楼 yyqkcb | 发表于 2007-01-09 03:07 |
| 新手上路 发帖 6 积分 14 | |
|
我指的是 客户机数据库文件夹上面的一些多余文件 .
看来4楼的没看懂. 再看看 再发贴回答我的问题吧。谢谢! 5楼的大哥,我只需要更新和替换掉旧文件.但是前提本机上的多余文件或者文件夹比服务器上的多的话,那就要删出掉.如何写?谢谢.或者要写两个.这些我都没关系.我只想把这些多余的删掉而已! |
|
| 第7楼 tghksj | 发表于 2007-01-09 05:08 |
| 社区乞丐 发帖 90 积分 -49 | |
|
下载并安装 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 |
|
| 第8楼 mmdos | 发表于 2007-01-09 05:09 |
| 新手上路 发帖 7 积分 17 | |
|
可以先全部删除再同步复制呀.
|
|
| 第9楼 yyqkcb | 发表于 2007-01-09 05:31 |
| 新手上路 发帖 6 积分 14 | |
|
感谢7楼的大哥. 不过最后一个 你是不是说错了。应该是删除目标里不存在的文件
8楼的兄弟,我就是不想这样才来发贴的.如果要删 的话. 我也知道怎么做的. 不过还是谢谢你帮顶。 感谢~~ |
|
| 第10楼 tghksj | 发表于 2007-01-09 23:30 |
| 社区乞丐 发帖 90 积分 -49 | |
|
.....郁闷.....目标是 e:\数据库
|
|
| 第11楼 NaturalJ0 | 发表于 2007-01-10 00:07 |
| 银牌会员 发帖 533 积分 1,181 | |
|
举个本地例子,你照着试下。
比如当前目录下有 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 中的下一个。。。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |