中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 08:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教读取文件内关键字内容的问题 查看 696 回复 4
楼 主 请教读取文件内关键字内容的问题 发表于 2009-09-02 02:39 ·  中国 浙江 杭州 杭州世导通讯有限公司互联网数据中心电信节点
初级用户
积分 36
发帖 16
注册 2007-03-31 14:14
19年会员
UID 83517
性别 男
状态 离线
各位老大,有个批处理提取指定关键字后面容的问题需要求教,如下:
文本文件1.txt肉容如下:
username:test
passwd:1234
IPadd:127.0.0.1
……

我想根据数据前面的名称如username: passwd: ipadd:来取得数据肉容,放到想应变量中.
2 发表于 2009-09-02 06:43 ·  中国 北京 联通
新手上路
积分 3
发帖 3
注册 2009-02-17 12:17
17年会员
UID 139064
性别 男
状态 离线
嘻嘻,俺是个菜鸟,正好刚才也用到类似功能,就用了一个笨办法写了一些。基本能用。呵呵!不过方法比较笨,用到的知识也很单调,希望对你能有启发。欢迎大侠们指点啊。


@echo off

type d:\1.txt | find /I "username:" > %temp%\tmp1.tmp
for /F %%i in ('type %temp%\tmp1.tmp') do set aaa=%%i
set uname=%aaa:~9,20%
echo %uname%

type d:\1.txt | find /I "passwd:" > %temp%\tmp2.tmp
for /F %%i in ('type %temp%\tmp2.tmp') do set bbb=%%i
set passwd=%bbb:~7,20%
echo %passwd%

type d:\1.txt | find /I "IPadd:" > %temp%\tmp3.tmp
for /F %%i in ('type %temp%\tmp3.tmp') do set ccc=%%i
set ipadd=%ccc:~6,22%
echo %ipadd%

del %temp%\tmp1.tmp
del %temp%\tmp2.tmp
del %temp%\tmp3.tmp
3 发表于 2009-09-02 06:45 ·  中国 北京 联通
新手上路
积分 3
发帖 3
注册 2009-02-17 12:17
17年会员
UID 139064
性别 男
状态 离线
别忘记把你的1.txt放到D盘下,路径可以更改。如果还有其他内容,请参照增加并修改即可。:)
4 发表于 2009-09-02 08:42 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线

@echo off
for /f "tokens=1,2 delims=:" %%a in (1.txt) do set _%%a=%%b
set _
精简
=> 个人网志
5 发表于 2009-09-03 02:55 ·  中国 浙江 杭州 杭州世导通讯有限公司互联网数据中心电信节点
初级用户
积分 36
发帖 16
注册 2007-03-31 14:14
19年会员
UID 83517
性别 男
状态 离线
呵呵OK,多谢老大的帮助
论坛跳转: