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