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

[文本处理] [已解决]请问批处理如何输出文本中指定内容?

本帖最后由 ztmgenius 于 2013-5-7 15:42 编辑

论坛新人向高手们致敬~无论能否解决,先感谢各位~~
请问在使用如下代码输出的文本中,如何提取出所需要的指定行内容到新文本,新文本格式为  原文件名+new.TXT
文本输出代码:
  1. 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
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# apang


    十分感谢您的回答,学习研究中~~

TOP

  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. text = fso.OpenTextFile("d:\1.txt",1).ReadAll
  3. Pattern1 = "(主机名:|\bOS (名称|版本)|初始安装日期" & _
  4.    "|系统(启动时间|制造商|型号)|物理内存总量|域:).*"
  5. Pattern2 = "(Windows IP 配置|(IPV4 |物理)地址|子网掩码|默认网关).*"
  6. Pattern3 = "DNS 服务器.*"& vbCrLf & ".*"
  7. With New RegExp
  8.    .Pattern = Pattern1 & "|" & Pattern2 & "|" & Pattern3
  9.    .Global = True
  10.    .Ignorecase = True
  11.    For Each a in .Execute(text)
  12.       str = str & a & vbCrLf
  13.    Next
  14. End with
  15. fso.CreateTextFile("d:\2.txt",True).Write str
  16. MsgBox "OK"
复制代码
vbs试试?
1

评分人数

TOP

返回列表