![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-02 00:21 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,279 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助高手,如何读取日志文件中指定某一字段内容 |
| 可打印版本 1,050 / 12 |
| 第1楼 zjjzh | 发表于 2010-03-18 15:49 |
| 初级用户 发帖 14 积分 25 | |
|
求助高手,如何读取日志文件中指定某一字段内容 求助各位高手,我现在应用中记录一个日志aa.xml
日志内容是: .... <description>应用系统告警add ssd,请解决。</description> .... description里的内容格式有空格和逗号等。 脚本如何实现获取应用系统告警add ssd,请解决。并赋值给变量 比如call tt.bat %1 其中%1的值就是“应用系统告警add ssd,请解决” 另外,日志是持续的写进去,所以不能重复读取,只读取最新的内容。 各位老大帮忙啊。 |
|
| 第2楼 Hanyeguxing | 发表于 2010-03-18 16:10 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
如果“<description>应用系统告警add ssd,请解决。</description>”的前后没有空格或制表符的话,可以:
这个时候M就是你要的变量 没明白你要call他干什么呢? [ Last edited by Hanyeguxing on 2010-3-18 at 16:13 ] |
|
| 第3楼 zjjzh | 发表于 2010-03-18 16:58 |
| 初级用户 发帖 14 积分 25 | |
|
非常感谢楼上解答。call只是一个例子,我是用另外一个命令行来调用这个变量。发给告警平台。
|
|
| 第4楼 zjjzh | 发表于 2010-03-18 18:01 |
| 初级用户 发帖 14 积分 25 | |
Originally posted by Hanyeguxing at 2010-3-18 04:10 PM: |
|
| 第5楼 Hanyeguxing | 发表于 2010-03-18 18:25 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
按你提供的代码,测试通过
echo !M!这个时候的变量M是动态的,所有的 echo %M%这个时候的变量M没有动态扩展,是!M!值的最后一个,也就是最新的 这个批处理依据的是对字符串的截取比较,所以要求: <description>...</description>必须在同一行 <description>前面没有空格、制表符或其他任何字符 </description>后面没有空格、制表符或其他任何字符 [ Last edited by Hanyeguxing on 2010-3-18 at 18:49 ] |
|
| 第6楼 zjjzh | 发表于 2010-03-18 18:41 |
| 初级用户 发帖 14 积分 25 | |
Originally posted by Hanyeguxing at 2010-3-18 06:25 PM: |
|
| 第7楼 Hanyeguxing | 发表于 2010-03-18 18:45 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
你只用echo %M%不就可以了吗? |
|
| 第8楼 zjjzh | 发表于 2010-03-18 18:56 |
| 初级用户 发帖 14 积分 25 | |
Originally posted by Hanyeguxing at 2010-3-18 06:45 PM: |
|
| 第9楼 Hanyeguxing | 发表于 2010-03-18 19:06 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
1,每次增加N条内容到源文件中,只要最新的,也就是最后一条记录。
如果你要求这样,那么楼上批处理得到的就是这个。 2,每次增加N条内容到源文件中,只要最新的,也就是后增加近来的所有条数。以后每次如此读取,如此类推。 你要求的是这样的? |
|
| 第10楼 zjjzh | 发表于 2010-03-18 19:11 |
| 初级用户 发帖 14 积分 25 | |
|
对的,我就是要求2的。
只要新增的不管多少条,都要显示。 |
|
| 第11楼 Hanyeguxing | 发表于 2010-03-18 19:40 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
方法有很多中,这是其中之一,使用fc输出新增差异再解析。其他方法例如可以记录每次读取的行等等都可以:
要求: aa.xml必须是每次都在原有的内容基础上在下面新增加内容。 [ Last edited by Hanyeguxing on 2010-3-18 at 20:02 ] |
|
| 第12楼 Hanyeguxing | 发表于 2010-03-18 19:59 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
这个方法也可以
要求: aa.xml必须是每次都在原有的内容基础上在下面新增加内容。 说明: 本批处理未经过测试 [ Last edited by Hanyeguxing on 2010-3-18 at 21:08 ] |
|
| 第13楼 zjjzh | 发表于 2010-03-18 20:12 |
| 初级用户 发帖 14 积分 25 | |
|
老大你太强了。佩服。。
再次感谢解决我的问题。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |