改进了一下,不再使用FOR循环CALL自己,因每CALL自己一次直至代码找到目标及全部代码运行完共约执行15次(或以上)CALL和FIND操作…
一次将15个参数直接CALL出去,然后一次性通过SHIFT命令左移每一位被CALL的参数来处理,这样总共代码以及被CALL的程序调用,一共只用约3次完成,即从原来的15次以上的处理过程减少至只到目标出现为止。
先FIND生成只有一行的含有 目标串的行,然后在以后的FIND调用过程只要对只有这一行的目标文件操作,速度提高了一部分。
根据多次实验,只有ghost -dd >nul 这句是 Ghost 生成磁盘等信息文件的参数,这个最浪费时间,希望Ghost开发公司对生成此文件的速度有待改进。如果不是Ghost -dd 浪费时间,下面代码执行总时间约在1秒以内。
@echo %dbg% off
if NOT == goto :SEARCH
ghost -dd >nul
find "" ghststat.txt > tmp.tmp
call %0 -,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
goto :END
:SEARCH
shift
if == goto :end
find "1.%1: " ghststat.txt > tmp.tmp
if errorlevel 1 goto :SEARCH
SET p=%1
:: ============================ info list =======
Echo 1.%p%:
Echo P=%p%
:: ==============================================
del tmp.tmp >nul
:END
多谢qzwqzw兄指点,代码已更正~:)
[
Last edited by redtek on 2007-2-7 at 04:38 PM ]
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| qzwqzw |
+7 |
2007-02-08 06:26 |
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._