[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何整理数据(可能会比较繁琐)?

楼主要收集公司数据,所以要整理,但是一个个整理又太麻烦了  所以想到来咱们论坛里求助一下,

数据格式如下:
XXXXXXXX有限公司
联 系  人:XX 先生 (这个地方是职位) 给我留言
查看公司介绍   查看信用状况
电      话:86 XXXX    XXXXXXXX
移动电话: 139XXXX5048
传      真:86 XXXX   XXXXXXXX
地      址:中国 江苏 XXXXXXXXXX



要求:1.第二行的 “查看公司介绍   查看信用状况”  这行去掉
         2.然后有时候会出现重复的数据就是公司名称联系方式联系人都重复的那种,排除这些重复的
         3.传真不要
         4.称呼后面的东西不要  ,后面的文字也是不一样的
  


需要格式:
无锡市佳利达塑胶化工有限公司
联 系  人:盛晓阳 先生
电      话:86 0510 83831886
移动电话: 13665159870
地      址:中国 江苏 无锡市 无锡市洛社镇东工业区新雅路72号







各位大大  欢迎来搞

这个不难搞吧

TOP

把一段数据整成一行数据,然后删除重复后再输出,应该这思路吧
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

本帖最后由 terse 于 2013-6-29 00:20 编辑

楼主提供的资料并不详细 仅针对 一楼 的代码
想用FINDSTR 过滤 但考虑 公司名首字符含"查传地"这样的字符 就放弃了
用了计数判断
修正一个错误
对了你说的编号 怎么个编法 最好一次把情况 描述详细点
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in (a.txt) do (
  3.     set "var=%%i"
  4.     set /a n+=1
  5.     if !n! leq 3 (
  6.        if !n! neq 3 if !n! neq 1 (
  7.           for %%j in ("!str!") do if "!var:%%~j=!" == "%%i" (
  8.               for /f "tokens=1* delims=:" %%a in ("%%i") do (
  9.                   for /f "tokens=1,2" %%m in ("%%b") do echo %%a:%%m %%n
  10.               )
  11.           )
  12.        ) else set str=%%i&echo %%i
  13.     ) else if !n! neq 6 if !n! neq 8 (
  14.               echo %%i
  15.               if !n! equ 7 echo;
  16.            ) else set n=0
  17. )
  18. pause
复制代码

TOP

回复 5# terse


    谢谢大大回复哈
    截个图给你看
   数据之间我一般会空上一行
  最好是把整理结果输出到文本里编好号的

TOP

应该很简单的

TOP

回复 6# zx112244
和顶楼提供数据有出入 最后的邮编行是否保留?
5楼暂修正

TOP

返回列表