中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何截取文本文件中的变量
作者:
标题: [求助]如何截取文本文件中的变量 上一主题 | 下一主题
lealawer
新手上路





积分 4
发帖 4
注册 2010-11-18
状态 离线
『楼 主』:  [求助]如何截取文本文件中的变量

在cmd下dos中执行命令,对话框显示如下:同时存成文本文件到e:\22\99.txt
LCD Extended Status Utility

Status:  Opening the LCD device
Status:  LCD-C detected, bcdDevice 0x1
LCD Info: Model 0 Panel 8
LCD Info: USB FW Ver 1.1 GFX Ver 1.3 USB Boot Ver 1.0 GFX ISP 1.0
LCD X Status: Temp Now 28 Min 20 Max 44
LCD X Status: 5V PS 5.0 3.3V PS 3.3 Inverter Status 0x7f DVI Status 0x1
LCD X Status: Serial # 93051251 Minutes of Operation 485
LCD X Status: ResetReason 0x3 Inactivity 0 Activity 136 BadReadCount 0

请教如何把对话框或文本文件中第7行中的温度28值截取出来,赋值给A,然后就能对A进行比较和判定

2010-11-19 09:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  


@echo off

if not exist e:\22 (md e:\22)
type a.txt >e:\22\99.txt&echo.文本保存成功&type a.txt
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
        if %%a equ 7 (
                for /f "tokens=6" %%i in ("%%b") do (
                        Set A=%%i
                )
        )
)
echo.
echo.
echo.
echo/变量A的值为:%A%
pause>nul




http://www.godule.com
2010-11-19 11:58
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lealawer
新手上路





积分 4
发帖 4
注册 2010-11-18
状态 离线
『第 3 楼』:  

还是看不懂,简单点,就是在E:\DB\Temp.txt的内容如下:
LCD Extended Status Utility

Status:  Opening the LCD device
Status:  LCD-C detected, bcdDevice 0x1
LCD Info: Model 0 Panel 8
LCD Info: USB FW Ver 1.1 GFX Ver 1.3 USB Boot Ver 1.0 GFX ISP 1.0
LCD X Status: Temp Now 28 Min 20 Max 44
LCD X Status: 5V PS 5.0 3.3V PS 3.3 Inverter Status 0x7f DVI Status 0x1
LCD X Status: Serial # 93051251 Minutes of Operation 485
LCD X Status: ResetReason 0x3 Inactivity 0 Activity 136 BadReadCount 0

如何把里面的temp now后面的28(可变量)截取出来,赋值给A

2010-11-19 12:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lealawer
新手上路





积分 4
发帖 4
注册 2010-11-18
状态 离线
『第 4 楼』:  

大师们,有没有办法啊?

2010-11-22 09:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lealawer
新手上路





积分 4
发帖 4
注册 2010-11-18
状态 离线
『第 5 楼』:  

已经做出来了,代码如下:
IF EXIST A.TXT DEL A.TXT
type e:\db\tempA.txt|find "Temp Now">A.txt
for /f "tokens=6" %%i in (A.txt) do (
        set A=%%~ni
)

2010-11-24 10:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: