Batch file 如何批量读取文本文件中的值

Batch file 如何批量读取文本文件中的值,batch-file,text-files,Batch File,Text Files,所以我需要在批处理中使用GPU温度作为一个变量,但我不太明白如何只选择它,而不选择其他变量。我每10秒需要一次最新的温度。如何始终从文本文件中选择最新温度并将其设置为%temperature%您提供的想法似乎不起作用。你能把文件的内容放在一个代码块里,并把它添加到你原来文章的底部吗?如果文本文件太大,请将其缩小,以便只保留最相关的信息。如果在最后一行不幸被读取时读取该文件,`Date,GPU Temperature[°C',`则输出将读取,Temperature。也许使用FindStr忽略以空格


所以我需要在批处理中使用GPU温度作为一个变量,但我不太明白如何只选择它,而不选择其他变量。我每10秒需要一次最新的温度。如何始终从文本文件中选择最新温度并将其设置为%temperature%

您提供的想法似乎不起作用。你能把文件的内容放在一个代码块里,并把它添加到你原来文章的底部吗?如果文本文件太大,请将其缩小,以便只保留最相关的信息。如果在最后一行不幸被读取时读取该文件,`Date,GPU Temperature[°C',`则输出将读取,
Temperature
。也许使用
FindStr
忽略以空格开头的行会很有用:
对于/F令牌^=4%%a In('FindStr/BLVC:'input.txt')确实设置了“temperature=%%a”
个人来说,我会在('FindStr/L.“'input.txt')中使用
%%a来过滤掉不包含
的行作为文字字符。(操作说明:在
findstr
命令周围加单引号-在字符串周围加双引号)
@echo off
:loop
for /f "tokens=3 delims=, " %%a in (input.txt) do set "temperature=%%a"
echo %temperature%
timeout /t 10 >nul
goto :loop