Originally posted by quya at 2008-7-9 23:16:
仔细看了下, 还是有问题.
这里全部一样了.
这是因为没及时删除解压后的文件,造成下一次解压不成功,因此每次都是crc32 同一个文件。
ps:25楼代码的问题还是出在expand上面。
[ Last edited by zw19750516 on 2008-7-9 at 11:28 PM ]
批处理之家新域名:www.bathome.net
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by quya at 2008-7-9 23:16:
仔细看了下, 还是有问题.
这里全部一样了.
Originally posted by zw19750516 at 2008-7-9 11:19 PM:
这是因为没及时删除解压后的文件,造成下一次解压不成功,因此每次都是crc32 同一个文件。
ps:25楼代码的问题还是出在expand上面。
[ Last edited by zw19750516 on 2008-7-9 at 11:28 PM ]
Originally posted by zw19750516 at 2008-7-9 11:35 PM:
老土测试了我修改后25和28楼的代码吗,有个还是刚修改的,真的是人老了,好粗心的,总写错。
Originally posted by zw19750516 at 2008-7-9 11:47 PM:
如25楼现在结果完全正确,那么开始就是expand的问题,开始我是照抄你的expand %%~fsi,现在改成了expand "%%i",28楼我再看看,至于效率和7楼根本没法比,因为7楼是直接利用的已生成的crc.txt。
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (2.txt) do (
if /i "%%~xa" equ ".cat" (
for /f "tokens=2" %%b in ('crc32 %%~fsa') do set str=%%b
) else (
expand "%%a" %temp%\oembios.cat
for /f "tokens=2" %%b in ('crc32 %%temp%\oembios.cat') do set str=%%b
)
for /f "tokens=1,2" %%c in (1.txt) do if "!str!" equ "%%d" echo %%c %%a %%d
if exist %temp%\oembios.cat del /q /f %temp%\oembios.cat
)
pause>nul
Originally posted by quya at 2008-7-9 23:52:
25楼以前我在代码页437下运行了, 后来我发现代码页的问题再重新去运行的. %%~fsi 兼容性绝对比 %%i 好, 这应该不容怀疑.
7楼的改进代码在24楼, 我觉 ...
Originally posted by zw19750516 at 2008-7-9 11:58 PM:
老土你有没仔细看下24楼的代码,整体就只是个生成crc.txt的代码啊,根本没涉及到比较!
Originally posted by zw19750516 at 2008-7-10 12:03 AM:
试试crc32>result.txt看,要不就>result.txt crc32
Originally posted by quya at 2008-7-10 00:01:
这就是他的高明之处, 你再看看, 绝对运行准确.
他用 not defined 来检测变量的. 也就是变相的比较.
39楼代码还是不行, 和28楼一样, 提示命令语法 ...