![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 14:11 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何用批处理批量保存系统盘中除系统自带以外的文件?? |
| 可打印版本 2,051 / 15 |
| 第1楼 youkkk | 发表于 2007-03-01 09:12 |
| 中级用户 发帖 119 积分 274 | |
|
如何用批处理批量保存系统盘中除系统自带以外的文件?? 由于经常帮别人重装系统.有时PC的主人出去了忘了说要保存系统盘中什么什么文件....导致做系统的时候很郁闷......:(
题目如上~谢谢~ |
|
| 第2楼 qasa | 发表于 2007-03-01 10:00 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
|
要是机主没说要保留什么文件的话,你怎么知道要保留什么呀?
不过一般都是几个地方: 1、桌面 2、收藏夹 3、我的文档 批处理可这样写: |
|
| 第3楼 youkkk | 发表于 2007-03-01 10:04 |
| 中级用户 发帖 119 积分 274 | |
|
谢谢二楼的兄弟.
我不一般的.... 也许我没有说的详细的原故吧. 我举个例子.比如机主在WINDOWS等比较不常保存文件的文件夹中也存放了文件....上面的就........ |
|
| 第4楼 qasa | 发表于 2007-03-01 10:08 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
|
......
这有点像大海捞针的感觉,如果有没指定类型的话,这是不可能,除非有人把原来系统的文件抓了个快照,然后再对比,如果不同就备份出来。 有点难...... |
|
| 第5楼 slore | 发表于 2007-03-01 10:11 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
我的基本是系统的原始文件
要不要dir给你看看=。= 我知道了!自己建立个假目录,全部都是空txt文档,但是名字和系统文件对应! 然后对系统文件进行复制的时候用if exist 那个目录里的文件是否存在不存在就copy |
|
| 第6楼 qasa | 发表于 2007-03-01 10:23 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
我知道了!自己建立个假目录,全部都是空txt文档,但是名字和系统文件对应! 不用这样,安装完所有软件后,抓快照最简单的方法,可用: 然后备份的时候就这个快照对比。 [ Last edited by qasa on 2007-2-28 at 11:01 PM ] |
|
| 第7楼 slore | 发表于 2007-03-01 10:44 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
然后备份的时候就这个快照对比。
你要怎么对比? |
|
| 第8楼 slore | 发表于 2007-03-01 10:49 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
试了下fc命令……对生成的对比文件还要再进行处理
|
|
| 第9楼 qasa | 发表于 2007-03-01 11:12 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
|
首先生成系统快照:
备份时快照对比(嘻嘻,慢慢等下吧): [ Last edited by qasa on 2007-2-28 at 11:06 PM ] |
|
| 第10楼 qasa | 发表于 2007-03-01 11:53 |
| 高级用户 发帖 311 积分 959 来自 广东-LianJiang | |
|
有个缺点就是以中文起的文件名就不能备份,不知是什么回事,还得大家帮找下原因。
如: 文档.txt 一.txt 这类文件的都不能备份。 要是如: a文档.txt a 文 档.txt 则可以备份。 [ Last edited by qasa on 2007-2-28 at 10:56 PM ] |
|
| 第11楼 youkkk | 发表于 2007-03-01 12:16 |
| 中级用户 发帖 119 积分 274 | |
|
嘻嘻...离成功越来越近了...兄弟们加油~~
不能沉下去呀.. 扫描真的N慢.. [ Last edited by youkkk on 2007-3-1 at 12:25 PM ] |
|
| 第12楼 slore | 发表于 2007-03-01 12:45 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
你有没有比较你的方法和我的方法?
你这个每一个文件就要遍历一边“系统快照.txt”里的每行! 自己想象效率=.= 不知道是不是P的败笔,还是自己学的不够,for命令居然没有退出的。 for /f "delims=" %%j in (系统快照.txt) do ( if %%i equ %%j set newfile=1 <----这里如果相等就退出循环不要再对比后面的每行了 ) 而且我做了下测试: 改了下代码(echo和当前目录而已): 但结果!!
问题有: 第一为什么返回全是0? 因为我的第一个文件相同,所以是1,是1的话就不copy同样也不会被重置为0!! 那么……什么都不用copy了。 所以应该是: 这样,虽然可以完成了。 但这个的循环次数真是不可想象! 顺便测试了下上面的提到的文件名问题: 测试结果可以备份。
顺便把我测试的全部文件上传过来: [ Last edited by slore on 2007-3-1 at 01:06 AM ] 附件 Test.rar (1.14 KiB) |
|
| 第13楼 youkkk | 发表于 2007-03-02 02:47 |
| 中级用户 发帖 119 积分 274 | |
|
谢谢几位的热心回复~~...
|
|
| 第14楼 NaturalJ0 | 发表于 2007-03-02 02:55 |
| 银牌会员 发帖 533 积分 1,181 | |
|
for 我一般使用 GOTO 跳出去。
|
|
| 第15楼 NaturalJ0 | 发表于 2007-03-02 03:00 |
| 银牌会员 发帖 533 积分 1,181 | |
|
XCOPY source ] ]
...] source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 只复制有存档属性集的文件, 但不改变属性。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |