今天是:
设百科问答网为首页|收藏百科问答网|网站地图
百科问答网 - 帮您解决问题,分享成功经验
批处理删除重复行的代码看不懂,求教?

刚开始学习批处理,很多东西都看不明白,请教大家,
批处理之家的一个删除文本中重复行的帖子,内容如下:

有a.txt文件:
第一行
第一行
第二行
第二行
第二行
第二行
第三行
第三行
第三行
第二行
第三行
第二行
第四行
第四行
第四行
第五行
第四行

运行批处理后得到结果:
第一行
第二行
第三行
第四行
第五行

cd.>b.txt
set /a n=1
for /f %%a in (a.txt) do echo %%a>b.txt&&goto cmit
:cmit
for /f "skip=%n%" %%a in (a.txt) do (
setlocal enabledelayedexpansion
set /a n+=1
for /f %%b in (b.txt) do if "%%b"=="%%a" goto cmit
echo %%a>>b.txt
)
pause

上面这段代码看不明白,
1.是段落里几个for是啥关系。一层一层相互嵌套?
2.是这段代码删除重复行是啥思路?先从a.txt中取出每一行,然后和a.txt中所有行进行对比?




答案或建议:


第一个for的作用,只是取“第一行”放入b.txt,然后控制权交给后面,没有嵌套关系

第二个for的作用是主要的,获取除a.txt除第一行外的所有行,有嵌套关系

第三个for的作用,跳过b.txt中已经有的行

你运行下,看看屏幕显示就知道了



链接地址:http://www.baikewenda.com/h/1201/a30215.html
推荐内容

敬请注意:百科问答网内容来源于网络或民间经验收集,仅供参考。其中有关健康疾病方面的内容请务必咨询专业医生或及时到医院治疗。
关于我们 - 广告服务 - 联系我们
百科问答网 Copyright ©2005 - 2011 www.baikewenda.com,All Rights Reserved
辽ICP备10007180号