楼上热心网友解释的很详细.
这个批处理的原理就是将a.txt逐行读出,从第一行开始判断是否与b.txt的某行相同,如果没有相同的行就写到b.txt,如果有相同的行就继续读a.txt的下一行.用!a!来指示首行直接写入b.txt覆盖原内容.
这个批处理的代码不合理,有些是没用的.比如用!a!标记是否为第一行(可以用cd.>b.txt清空原内容,这样第一行就不用特殊处理);用!lis!标记是否存在相同行(这个可以不标记,退出循环即可).set dst=!num!这句放在第二个循环里无意义.批处理中还有个问题:如果是删除一个txt里的重复行,那么代码中“c.txt”应该是"b.txt"
删重复行不用这么麻烦的.下面是我给简化的,原理没变,只是去掉了无用的部分.
@echo off
cd.>b.txt
for /f "delims=" %%z in (a.txt) do call :check %%z
start b.txt
pause
goto:eof
:check
for /f "delims=" %%y in (b.txt) do if %%y==%1 exit /b
echo,%1>>b.txt
exit /b
对应行解释:
关闭回显
生成空文件 b.txt
循环取a.txt中的每行,并以其为参数调用 :check
打开文本b.txt
暂停
跳到结尾(运行结束)
标签:check (此处可以理解成子程序)
循环读b.txt中各行,并判读是否与:check的第一个参数相同,如果相同就结束call返回到调用处,(如果b.txt中所有行都不与该参数的内容相同就继续下行.)
将:check的第一个参数写到b.txt
结束call 返回到调用处.
-
点赞数:0回答数:4
-
点赞数:0回答数:1
-
点赞数:0回答数:4
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:4
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:4

最新问答: 英文 急还有 母亲节快乐 五头奶牛,七天产奶630千克,照这样8头奶牛,十五天可以产多少千克奶 敬礼英语怎么说 在▲ABC和▲DEF中,∠B=∠E,∠C=∠F,BC=EF,则可证明▲ABC≌▲DEF,这运用了全等三角形中的ASA还是 若y x2-cx+8最小值为3 求c 60分钟生产24个,请问45分钟生产多少个?求计算公式 腐蚀电化学测试原理是什么. 将一个重力等于200N,边长10cm的均匀正方体,放在水平方桌面的中央,桌子的边长是50cm,则正方体对桌面的 正比例函数y=f(x),且f(-3)=2,求f(6) 将试管口朝下放在酒精灯上加热3至5分钟,立刻竖直插入盛水的容器中某深度不动 恒星周年视差是指什么 请大家给我一个八年级上册地理和生物的复习提纲(整册) 三角形的底增加3厘米,面积就增加6平方厘米,它的高是(.)米 太原市哪里开办英语角,具体时间、地点,草坪区有没有?如题 青蛙的销售量为什么夏季多,冬季少(生物题) 光合作用越强二氧化碳和水消耗越多? 三峡静景的句子是,动景的句子是,动静结合的句子是,从春冬之时,这段从后面找 日用箱包五精里的“夹,扣”英语怎么说的? “百家争鸣”形成于【A】春秋时期【B】战国时期 解不等式(x+5)(x+2)(x-1)(x-4)≤-80.