[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
批处理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 七次循环快一倍以上的哦!

TOP

返回列表