![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 03:52 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]2个文件比较的问题 |
| 可打印版本 3,278 / 52 |
| 第16楼 26933062 | 发表于 2008-07-09 18:59 |
| 银牌会员 发帖 879 积分 2,268 | |
|
如果10楼的代码可行的话,那么这样效率应该高些。
: |
|
| 第17楼 quya | 发表于 2008-07-09 21:27 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
上面的代码都不行啊, 不过还是衷心感谢大家.
我想先从简单的开始, 我有一个很小的CRC32 程序 到我 ftp://quya.2mydns.com/crc32.com 下载 此程序在代码页437下运行, 而且不支持长文件名和带有空格的目录, 但用以下代码可以得到正确的结果. 2.txt 文件内容如下: G:\IBM\oembios.cat 运行的结果如下: G:\IBM\oembios.cat D7A77612 先解决以下问题, 如何把临时目录 C:\WINXP\TEMP\ 还原成本来目录. 然后再慢慢来, 谢谢大家, 老土的脑筋现在有点不好使. [ Last edited by quya on 2008-7-9 at 09:42 PM ] |
|
| 第18楼 26933062 | 发表于 2008-07-09 21:36 |
| 银牌会员 发帖 879 积分 2,268 | |
|
越来越不知道你要干什么了?
G:\IBM\oembios.cat D7A77612 C:\WINXP\TEMP\oembios.cat D7A77612 C:\WINXP\TEMP\oembios.cat D7A77612 C:\WINXP\TEMP\oembios.cat 90BBDCA0 G:\xpdos\WXPOEM\ACER\OEMBIOS.CAT 717B6EF3 C:\WINXP\TEMP\oembios.cat B20C65BF G:\xpdos\WXPOEM\DELL\OEMBIOS.CAT B6F0EEFD G:\xpdos\WXPOEM\HPQ\OEMBIOS.CAT CD4E1902 G:\xpdos\WXPOEM\IBM\OEMBIOS.CAT D7A77612 G:\xpdos\WXPOEM\LENOVO\OEMBIOS.CAT 5237B729 C:\WINXP\TEMP\oembios.cat 700A8481 C:\WINXP\TEMP\oembios.cat 74572CCF C:\WINXP\TEMP\oembios.cat 162C7931 C:\WINXP\TEMP\oembios.cat 74572CCF C:\WINXP\TEMP\oembios.cat D7A77612 这些是crc.txt的内容吗? 如果是,难道7楼的代码不行? |
|
| 第19楼 quya | 发表于 2008-07-09 21:47 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
Originally posted by 26933062 at 2008-7-9 09:36 PM: 下午在单位没试你的代码, 对不起, 刚才试了下, 正确而且速度很快. 但是能否解决在压缩文件的情况下还原本来目录的问题. 17楼我提到的问题. 能解释下 for /f "tokens=1* delims= " %%a in (1.txt) do set %%b=%%a 这句意思吗? %%b 是第2个 token, 也就是 "1*" 中的 "*", 怎么还可以赋值, 实在看不懂啊 . 再编辑, 有点知道了, 这样生成了很多变量, 变量名取第2个token, 赋的值是第一个, 我担心的是, 如果我文件很长, 变量名这么多会不会溢出而出错? 因为小时候就知道, 要节省变量名和及时释放变量, 我那个时候的内存是小得可怜的, 不敢用太多变量. [ Last edited by quya on 2008-7-9 at 10:02 PM ] |
|
| 第20楼 26933062 | 发表于 2008-07-09 21:52 |
| 银牌会员 发帖 879 积分 2,268 | |
|
不理解
是2.txt中有压缩文件? crc32.exe 可以对其进行解压缩?并且解压到C:\WINXP\TEMP\目录? 本来目录又是什么目录? |
|
| 第21楼 quya | 发表于 2008-07-09 22:01 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
Originally posted by 26933062 at 2008-7-9 09:52 PM: 是的, 文件名扩展名是 .ca_ 的就是压缩文件, 需要expand 再对它校验, 请参照我17楼的解压代码, 谢谢. |
|
| 第22楼 bat-zw | 发表于 2008-07-09 22:11 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
老土测试了我14的代码吗?我里面加了对rar文件的判断和解压,你只要自己改下就可以了。
[ Last edited by zw19750516 on 2008-7-9 at 10:20 PM ] |
|
| 第23楼 quya | 发表于 2008-07-09 22:20 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
Originally posted by zw19750516 at 2008-7-9 10:11 PM: 谢谢你的代码, 但 1. 解压不是 WINRAR, 当然这个我可以改 2. 最关键的是你解压在当前目录了, 而当前目录可能只读, 所以一定要解到临时目录 由于2的问题, 如何取得原来目录就成了问题. |
|
| 第24楼 26933062 | 发表于 2008-07-09 22:33 |
| 银牌会员 发帖 879 积分 2,268 | |
|
根据你17楼代码改进,获取原目录及文件名
至于你说变量益处,这个问题我还没遇到过, 作了个简单的测试,十万个变量名没发现错误的现象。我的物理内存是128m 但如果你的1.txt内容很长的话,你用前面的代码for+findstr估计你会等到头发变白。。。 [ Last edited by 26933062 on 2008-7-9 at 10:34 PM ] |
|
| 第25楼 bat-zw | 发表于 2008-07-09 22:35 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
我日,好麻烦,这下可以解决你的问题了吧:
[ Last edited by zw19750516 on 2008-7-9 at 11:25 PM ] |
|
| 第26楼 26933062 | 发表于 2008-07-09 22:59 |
| 银牌会员 发帖 879 积分 2,268 | |
|
不好意思24楼说的十万个变量名,没测试完,实际测试是四万个。
|
|
| 第27楼 quya | 发表于 2008-07-09 23:06 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
24, 25 楼的代码 %~fsi 都 少了个 %, 不过这容易改.
25楼运行结果不是太理想: G:\IBM\oembios.cat D7A77612 24楼运行结果接近完美: G:\IBM\oembios.cat D7A77612 但想不通的是倒数第2个结果会这样?!! 我仔细看了代码, 没错误啊. 用下边语句检测也没问题啊, 晕倒! 大家辛苦了!!! 万分感谢!! [ Last edited by quya on 2008-7-9 at 11:08 PM ] |
|
| 第28楼 bat-zw | 发表于 2008-07-09 23:09 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
如不要生成临时的crc.txt:
[ Last edited by zw19750516 on 2008-7-9 at 11:31 PM ] |
|
| 第29楼 quya | 发表于 2008-07-09 23:16 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
仔细看了下, 还是有问题.
F:\e\Backup\Tools\OEM 5文件\Acer\OEMBIOS.CA_ B20C65BF 这里全部一样了. |
|
| 第30楼 bat-zw | 发表于 2008-07-09 23:16 |
| 金牌会员 发帖 1,276 积分 3,105 | |
Originally posted by quya at 2008-7-9 23:06: 难道1.txt是多余的? |
|
| 上一页 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |