本帖最后由 yjstone 于 2011-5-17 01:43 编辑
首先,你的代码问题在于:
1、3楼所说的原因;
2、2.txt文本从第二行起每行的数字与汉字之间的间隔不是英文空格,所以变量%%j的内容从第二行起分别是“10002 内服药”;“10003 注射剂";"10004 医疗器械”;"10005 其它",这与分析第一个文本1.txt产生的变量%%i(五位数字)来比较自然不会相等的。
如果2.txt每行行首的数字都是固定的5位数,你可以用如下的批处理解决你的问题:- @echo off
- setlocal EnableDelayedExpansion
- for /f %%i in (1.txt) do (
- set "out="
- for /f "tokens=1,*" %%j in (2.txt) do (
- set str=%%j
- if "%%i"=="!str:~,5!" echo %%i : !str:~6!%%k>>3.txt &set out=yes)
- if not defined out echo %%i : 未找到匹配类型>>3.txt
- )
- pause
复制代码
|