Board logo

标题: 读取文本内容 [打印本页]

作者: liuping     时间: 2008-4-15 13:36    标题: 读取文本内容

主机名:           XY219
OS 名称:          Microsoft Windows XP Professional
OS 版本:          5.1.2600 Service Pack 1 Build 2600
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Uniprocessor Free
注册的所有人:     Wang & Hua
注册的组织:       TEL:13699582635 & 13767717217
产品 ID:          55661-640-0059266-23040
初始安装日期:     2007-11-2, 20:55:41

文本内容是以上这样写的。我想从中提取XY219 Wang & Hua 2007-11-2, 20:55:41
这三项到一个文本文件当中去。请问如何做?
作者: abcd     时间: 2008-4-15 13:44

@echo off
set "str=主机名 注册的所有人 初始安装日期"
findstr /r "%str%" test.txt>te.txt

作者: liuping     时间: 2008-4-15 19:00
好像不行哟,大哥!
作者: tvzml     时间: 2008-4-15 19:37
@echo off
cd.>1.txt
for /F "tokens=2  delims= " %%i in ('findstr /i /c:"主机名:" tset.txt') do  echo %%i>>1.txt
for /F "tokens=1,*  delims= " %%i in ('findstr /i /c:"注册的所有人:" tset.txt') do echo %%i>>1.txt
for /F "tokens=1,*  delims= " %%i in ('findstr /i /c:"初始安装日期:" tset.txt') do echo %%j>>1.txt
start 1.txt
作者: bat-zw     时间: 2008-4-15 19:42    标题: 楼主应是要这样的结果:

其实abcd的代码厉害,只是楼主不需要前面的中文
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1*" %%i in (test.txt) do (
    set /a n+=1
    for %%i in (1,7,10) do if %%i equ !n! echo %%j>>te.txt
)
pause
[ Last edited by zw19750516 on 2008-4-15 at 07:46 PM ]
作者: bat-zw     时间: 2008-4-15 19:50    标题: 修改2楼的:


@echo off
set "str=主机名 注册的所有人 初始安装日期"
for /f "tokens=1*" %%i in ('findstr /r "%str%" test.txt') do echo %%j>>te.txt
pause