[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
先排序data.txt到data1.txt
再把quhao.txt的内容定义到变量
最后读data1.txt取同区的第一个显示出来
注意:用for /f 命令处理文本时,默认是以空格和[Tab]同时作为字段分隔符的
  1. @echo off&setlocal enabledelayedexpansion
  2. sort data.txt /o data1.txt
  3. for /f "tokens=1-2" %%a in (quhao.txt) do set %%b=%%a
  4. (
  5. for /f "tokens=1-2" %%a in (data1.txt) do (
  6.     if "!var!" neq "%%b" (
  7.         echo;%%a !%%b!
  8.         set var=%%b
  9. ))
  10. )>结果.txt
复制代码

[ 本帖最后由 netbenton 于 2010-5-6 00:13 编辑 ]

TOP

1,如果号码不是连续的增加一个未知项
2,如果区域在quhao.txt中不存在,转为未知项
  1. @echo off&setlocal enabledelayedexpansion
  2. sort data.txt /o data1.txt
  3. for /f "tokens=1-2" %%a in (quhao.txt) do set %%b=%%a
  4. ::\\取第一个电话号码
  5. set /p num=<data1.txt
  6. set /a num=num
  7. ::\\\\\\\
  8. (
  9. for /f "tokens=1-2" %%a in (data1.txt) do (
  10.     if "!var!" neq "%%b" (
  11.         if !num! neq %%a echo; !num! !未知!
  12.         if #!%%b! equ # (echo;%%a !未知!) else echo;%%a !%%b!
  13.         set var=%%b
  14. ) else (set /a num=%%a+1)
  15. )
  16. )>结果.txt
复制代码

TOP

改成这样应该可以了
  1. @echo off&setlocal enabledelayedexpansion
  2. sort data.txt /o data1.txt
  3. for /f "tokens=1-2" %%a in (quhao.txt) do set %%b=%%a
  4. ::\\取第一个电话号码
  5. set /p num=<data1.txt
  6. set /a num=num
  7. ::\\\\\\\
  8. (
  9. for /f "tokens=1-2" %%a in (data1.txt) do (
  10.     if "!var!" neq "%%b" (
  11.         if !num! neq %%a echo;!num! !未知!
  12.         if #!%%b! equ # (echo;%%a !未知!) else echo;%%a !%%b!
  13.         set var=%%b
  14.     )
  15. set /a num=%%a+1
  16. )
  17. )>结果.txt
复制代码

[ 本帖最后由 netbenton 于 2010-5-6 21:38 编辑 ]

TOP

返回列表