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

[文本处理] 批处理如何在多个文本里寻找关键字并输出?

之前发过帖子求助,我也说几句。对于比我强的人我都成为高手,对于上个帖子给别人带来的困惑表示抱歉,由于没有认真阅读版规表示道歉。

文件夹A中,有这么几个文件,AE52.txt,AH93.txt,这些文件都是收集计算机的信息,ip网关之类的。
AE52.txt内容如下:

Windows IP Configuration



        Host Name . . . . . . . . . . . . : AE52

        Primary Dns Suffix  . . . . . . . :

        Node Type . . . . . . . . . . . . : Unknown

        IP Routing Enabled. . . . . . . . : No

        WINS Proxy Enabled. . . . . . . . : No



Ethernet adapter 本地连接:



        Connection-specific DNS Suffix  . :

        Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection

        Physical Address. . . . . . . . . : 00-80-87-0E-A8-7A

        Dhcp Enabled. . . . . . . . . . . : No

        IP Address. . . . . . . . . . . . : 10.3.157.227

        Subnet Mask . . . . . . . . . . . : 255.255.255.240

        Default Gateway . . . . . . . . . : 10.3.157.238

主机名:           AE52
OS 名称:          Microsoft Windows XP Professional
OS 版本:          5.1.2600 Service Pack 3 Build 2600
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Uniprocessor Free
注册的所有人:     cds6040t
注册的组织:       YH
产品 ID:          76481-641-1465534-23259
初始安装日期:     2012-3-19, 11:51:50
系统启动时间:     0 天 0 小时 4 分 23 秒
系统制造商:       Intel Corporation
系统型号:         Montara Family of Chipsets
系统类型:         X86-based PC
处理器:           安装了 1 个处理器。
                  [01]: x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2791 Mhz
BIOS 版本:        PTLTD  - 6040000
Windows 目录:     C:\WINDOWS
系统目录:         C:\WINDOWS\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             暂缺
物理内存总量:     1,014 MB
可用的物理内存:   693 MB
虚拟内存: 最大值: 2,048 MB
虚拟内存: 可用:   2,005 MB
虚拟内存: 使用中: 43 MB
页面文件位置:     C:\pagefile.sys
域:               YH
登录服务器:       \\AE52
修补程序:         安装了 137 个修补程序。
"MNAME","A"
"RESERVE1",""
"RESERVE2",""
"RESERVE3","software\abc_bj_cardbin.txt/10.3.16.114/21/atmftp/atmatm"
"TIMEOUT_CARD","30"
"TIMEOUT_NOTE","60"
"TIMEOUT_VNOTE","150"
"TIMEOUT_WAIT","30"
"TIMEOUT_COMM","60"
"TIMEOUT_IDL","30"
"TIMEOUT_PIN","30"
"TIMEOUT_KEY","30"
"TIMEOUT_KDR","60"
"TIMEOUT_TAKERNOTE","120"
"TIMEOUT_ERRMSG","300"
"DISKSPACE","200"
"TIMERESETCOMM","60"
"TFRACCOUNTLEN","19"
"TFRAMOUNTLEN","8"
"TFRMAXAMOUNT","50000"
"TFRMINAMOUNT","0"
"CWDMAXAMOUNT","3000"
"CSHINMAXCOUNT","100"
"CHANNALNO","0"
"CASSETTEMINNUM","10"
"CashoutCassetteNum","5"
"CashInCassetteNum","6"
"INPUTMAXCOUNT","3"
"INPUTMAXPASSWORD","3"
"INPUTMAXACCOUNT","3"
"MAXRETRACTNUM","100"
"CWDMAXRETRACTNUM","100"
"COMMTYPE","1"
"OUT50NUM","0"
"CashModel","2"
"CUTLEN",""
"ISCHIP","0"
"ISSPBDEVICE","0"
"ISENCRYPT","0"
"ISWRITEONLY","0"
"MultiValidate","3"
"ISMONITOR","0"
"ISMESSAGE","0"
"ISOPERATORTYPE","0"
"ISINTOSUPER","1"
"PINKEY","1111111111111111"
"MACHINEPASS","95599"
"ISCOMPANY","0"
"ISTIMEOUT","0"
"ISCINAMT","0"
"SOFTVER","COLS_ABC_BeiJing_007.007.000_CDS6040T&W"
"ISCSHDEVICE","2"
"ISCSHDEVICESN","2"
"ISCONFIRM","2"
"LUNO","1301AE52"
"BRANCHNAME","FTG82"
"SERIALNAME","A0906013648"
"NETNO","1301"
"ISCARD","1"
"ISKDRDEVICE","3"
"ISJRNDEVICE","1"
"ISCSHDEVICE","2"
"ISEPPDEVICE","2"
"ISPANEL","1"
"ISSCREEN","2"
"ISGIMKS","0"
"DEVICE","CDS6040T"
"ISABIS","0"
"PackVer","00"
"ISCSHDEVICESN","2"
"ISCWDDEVICE","2"
[MAIN PARAMETER]
Version=2
RecvFlag=2
SendSign=0
Debug=0
HostPortNo0=3010
HostPortNo1=0
HostPortNo2=0
HostPortNo3=0
LocalPortNo0=0
LocalPortNo1=0
LocalPortNo2=0
LocalPortNo3=0
PortNo=0
NetAddress=10.3.6.11
[ICMP PARAMETER]
ICMPSign=0
ICMPInterval=30
SendTimeOut=10
RecvTimeOut=60
ICMPStrlen=15
ICMPStr=This is a test!
[LINK PARAMETER]
ReadInterval=1
[THREAD DEFINE]
WaitThreadExitTime=5
WaitThreadStartTime=30




我想做:
每次从文件夹A中读出1个文件,提取出里面的LUNO,NETNO,HostPortNo0,IP,子网掩码,网关,处理器主频等信息,写到一个a.csv中。(因为csv的文件,可以用excel打开方便)

a.csv的样子像这样

LUNO,NETNO,HostPortNo0,IP,子网掩码,网关,处理器主频
AE52,1301,3010, 10.3.235.32,255.255.255.240,10.235.3,x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2791 Mhz
AH93,1301,3010, 10.3.235.32,255.255.255.240,10.235.3,x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2791 Mhz

拜谢~!~主要为了方便工作,我知道用for语句可以做,但是弄了半天,没有搞成。

感谢大家的支持
利用hfg1977 的代码
最后输出多个在ip,掩码,网关后面多了个实心方框,无法正确的排列,我手工修改输出文件cc.txt,将ip,掩码,网关后面实心方框删除,并把cc.txt后缀改成cc.csv后,排列正常。帮忙搞搞输出时候,别让他输出实心方框。

TOP

感谢大家的支持
利用hfg1977 的代码
最后输出多个在ip,掩码,网关后面多了个实心方框,无法正确的排列,我手工修改输出文件cc.txt,将ip,掩码,网关后面实心方框删除,并把cc.txt后缀改成cc.csv后,排列正常。帮忙搞搞输出时候,别让他输出实心方框。

TOP

使用canyuexiaolang 的代码搞定了,谢谢坛友支持。

TOP

回复 15# canyuexiaolang


    能不能帮忙在增加几个关键字的查找,本来想自己改改,怎知水平有限啊,代码大概能读懂,
第一行为这样:
SERIALNAME,LUNO,NETNO,HostPortNo0,IP,子网掩码,网关,处理器主频,物理内存总量,注册的所有人


SERIALNAME的取值,知道怎么弄,直接在set "cline=SERIALNAME;LUNO;     加上即可。物理内存总量的获取,搞了搞,没搞成,麻烦帮帮忙

TOP

返回列表