中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 02:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]剔除两个文件中指定列不同的行的问题 查看 816 回复 1
楼 主 [已结]剔除两个文件中指定列不同的行的问题 发表于 2009-01-06 23:19 ·  中国 北京 合聚数字技术
新手上路
积分 13
发帖 9
注册 2008-05-15 11:03
18年会员
UID 118723
性别 男
状态 离线
test1 test2两文档 test2是test1的子集,每行格式如下:字段间用|分开
aa|bb|2cc|1|d|310025546|杨A|1|001|0|00000000000002|

现在按token=6比较两个问当中的行,若test1中存在该字段,但test2中不存在,则输出,代码如下:
@echo off & setlocal enabledelayedexpansion
for /f "tokens=1-11 delims=^|" %%a in (test1.txt) do (
set no=
set var1=%%f
for /f "tokens=1-11 delims=^|" %%m in (test2.txt) do (
set var2=%%r
if !var1!==!var2! (
set no=a
))
if not defined no (
echo !var1!>>notin.txt
))

请问代码有问题吗? 执行异常,我先输出了字段,不是整行内容

[ Last edited by HAT on 2009-1-7 at 00:44 ]
2 发表于 2009-01-06 23:36 ·  中国 北京 合聚数字技术
新手上路
积分 13
发帖 9
注册 2008-05-15 11:03
18年会员
UID 118723
性别 男
状态 离线
不好意思各位 找到原因了 谢谢各位
论坛跳转: