标题: [文本处理] [已解决]请问批处理如何输出文本中指定内容? [打印本页]
作者: ztmgenius 时间: 2013-5-5 13:22 标题: [已解决]请问批处理如何输出文本中指定内容?
本帖最后由 ztmgenius 于 2013-5-7 15:42 编辑
论坛新人向高手们致敬~无论能否解决,先感谢各位~~
请问在使用如下代码输出的文本中,如何提取出所需要的指定行内容到新文本,新文本格式为 原文件名+new.TXT
文本输出代码:- systeminfo > D:\1.TXT && ipconfig/all >> D:\1.TXT
复制代码
输出后的文本显示如下:
主机名: YYGS
OS 名称: Microsoft Windows 8 专业版
OS 版本: 6.2.9200 暂缺 Build 9200
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构件类型: Multiprocessor Free
注册的所有人: 123
注册的组织:
产品 ID: 00178-70000-00011-AA129
初始安装日期: 2013-04-09, 16:57:05
系统启动时间: 2013-05-04, 08:37:13
系统制造商: LENOVO
系统型号: WQ_T100/400G10
系统类型: X86-based PC
处理器: 安装了 1 个处理器。
[01]: x64 Family 6 Model 23 Stepping 10 GenuineIntel ~2803 Mhz
BIOS 版本: LENOVO 90KT14AUS, 2010-04-20
Windows 目录: C:\Windows
系统目录: C:\Windows\system32
启动设备: \Device\HarddiskVolume1
系统区域设置: zh-cn;中文(中国)
输入法区域设置: zh-cn;中文(中国)
时区: (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量: 2,013 MB
可用的物理内存: 882 MB
虚拟内存: 最大值: 4,061 MB
虚拟内存: 可用: 2,346 MB
虚拟内存: 使用中: 1,715 MB
页面文件位置: C:\pagefile.sys
域: WORKGROUP
登录服务器: \\YYGS01500584
修补程序: 安装了 52 个修补程序。
[01]: KB2712101_Microsoft-Windows-CameraCodec-Package
[02]: KB2727528
[03]: KB2737084
[04]: KB2742614
[05]: KB2750149
[06]: KB2753842
[07]: KB2756872
[08]: KB2757638
[09]: KB2758246
[10]: KB2758994
[11]:
网卡: 安装了 2 个 NIC。
[01]: Realtek PCI GBE 系列控制器
连接名: 以太网
状态: 媒体连接已中断
[02]: Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller
连接名: 以太网 2
启用 DHCP: 否
IP 地址
[01]: 10.1.0.32
[02]: fe80::f010:154a:a320:14dd
Hyper-V 要求: 虚拟机监视器模式扩展: 是
固件中已启用虚拟化: 是
二级地址转换: 否
数据执行保护可用: 是
Windows IP 配置
主机名 . . . . . . . . . . . . . : YYGS
主 DNS 后缀 . . . . . . . . . . . :
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否
以太网适配器 以太网 :
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller
物理地址. . . . . . . . . . . . . : 90-FB-A6-1E-C7-EC
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::f010:154a:a320:14dd%13(首选)
IPv4 地址 . . . . . . . . . . . . : 10.1.0.32(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.1.0.254
DHCPv6 IAID . . . . . . . . . . . : 328268710
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-18-F5-8E-FE-74-EA-3A-71-52-10
DNS 服务器 . . . . . . . . . . . : 202.98.0.68
202.98.5.68
TCPIP 上的 NetBIOS . . . . . . . : 已启用
——————————————————————————
想要提取其中的部分内容并生成新文本,提取内容如下:
——————————————————————————
主机名: YYGS01500584
OS 名称: Microsoft Windows 8 专业版
OS 版本: 6.2.9200 暂缺 Build 9200
初始安装日期: 2013-04-09, 16:57:05
系统启动时间: 2013-05-04, 08:37:13
系统制造商: LENOVO
系统型号: WQ_T100/400G10
物理内存总量: 2,013 MB
域: WORKGROUP
Windows IP 配置
物理地址. . . . . . . . . . . . . : 90-FB-A6-1E-C7-EC
IPv4 地址 . . . . . . . . . . . . : 10.1.0.32(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.1.0.254
DNS 服务器 . . . . . . . . . . . : 202.98.0.68
202.98.5.68
作者: apang 时间: 2013-5-5 19:09
- Set fso = CreateObject("Scripting.FileSystemObject")
- text = fso.OpenTextFile("d:\1.txt",1).ReadAll
-
- Pattern1 = "(主机名:|\bOS (名称|版本)|初始安装日期" & _
- "|系统(启动时间|制造商|型号)|物理内存总量|域:).*"
- Pattern2 = "(Windows IP 配置|(IPV4 |物理)地址|子网掩码|默认网关).*"
- Pattern3 = "DNS 服务器.*"& vbCrLf & ".*"
-
- With New RegExp
- .Pattern = Pattern1 & "|" & Pattern2 & "|" & Pattern3
- .Global = True
- .Ignorecase = True
- For Each a in .Execute(text)
- str = str & a & vbCrLf
- Next
- End with
-
- fso.CreateTextFile("d:\2.txt",True).Write str
- MsgBox "OK"
复制代码
vbs试试?
作者: ztmgenius 时间: 2013-5-6 11:53
回复 2# apang
十分感谢您的回答,学习研究中~~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |