中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 09:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何截取文本文件中的变量 查看 1,091 回复 4
楼 主 [求助]如何截取文本文件中的变量 发表于 2010-11-19 09:38 ·  中国 江苏 苏州 张家港市 电信
新手上路
积分 4
发帖 4
注册 2010-11-18 17:50
15年会员
UID 177805
性别 男
状态 离线
在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进行比较和判定
2 发表于 2010-11-19 11:58 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线


@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
3 发表于 2010-11-19 12:22 ·  中国 江苏 苏州 张家港市 电信
新手上路
积分 4
发帖 4
注册 2010-11-18 17:50
15年会员
UID 177805
性别 男
状态 离线
还是看不懂,简单点,就是在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
4 发表于 2010-11-22 09:22 ·  中国 江苏 苏州 张家港市 电信
新手上路
积分 4
发帖 4
注册 2010-11-18 17:50
15年会员
UID 177805
性别 男
状态 离线
大师们,有没有办法啊?
5 发表于 2010-11-24 10:58 ·  中国 江苏 苏州 张家港市 电信
新手上路
积分 4
发帖 4
注册 2010-11-18 17:50
15年会员
UID 177805
性别 男
状态 离线
已经做出来了,代码如下:
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
)
论坛跳转: