- 帖子
- 125
- 积分
- 463
- 技术
- 2
- 捐助
- 0
- 注册时间
- 2008-7-30
|
10楼
发表于 2010-8-24 21:28
| 只看该作者
批处理bat代码一般处理小型文件确实不容易看出用时的效率。如果是大型文件,要十多或更长时间。。。。。,恐怕你的耐心就。。。。。。
我的肤浅感觉是:
1, 尽量减少直接写入
2, 尽量减少for循环
3, 尽量减少goto循环
我的意思是能够不用或其他方式可以实现功能结果,多几个代码效率会提高2~3倍以上甚至几十倍哦!
如果有1万个9位数(空格格开,每行不大约8180字节)
用下面的代码处理你会感觉效率怎么样?
1,
cd.>temp.txt
for /f "delims=" %%i in (%file%) do (
for %%a in (%%i) do echo %%a
)>>temp.txt
2, cd.>temp.txt
for /f "delims=" %%i in (%file%) do (
for %%a in (%%i) do echo %%a>>temp.txt
)
也许是30倍的差异.(有点夸张哦)
如果要转化成十六进制,部分代码是:
1,
for /l %%i in (1 1 7) do (
set /a y=!y!/16, ys=!y!/16%%16
call set h=%%m:~!ys!,1%%!h!
)
2,
:bb
set /a y=!y!/16, ys=!y!/16%%16
call set h=%%m:~!ys!,1%%!h!
if !y! GTR 0 goto bb
大家可以试一试一样不?
还有比for 七次循环快一倍以上的哦! |
|