程序从txt文件读取i / p作为批处理文件中if / else的条件

时间:2017-09-17 17:59:08

标签: file batch-file if-statement batch-processing

我正在制作一个首先在服务器上运行命令并将服务器响应存储到文件(>>output.txt)的脚本。接下来,该脚本将读取Output.txt文件并查看是否x=0并将其用作if / else的条件。

例如,我的脚本将检查服务器复制状态&将使用以下行更新output.txt文件:

x=0 (if replication complete)

x=any number (if there is some data yet to get replicated)

(我们不知道x的值将存储在output.txt中的行数,因为脚本会不断更新文件&我们需要始终读取最后一行)

现在,我希望我的脚本读取output.txt文件,如果x = 0,它应该关闭服务器,否则不行。我应该怎么写我的剧本?

1 个答案:

答案 0 :(得分:1)

要阅读文本文件的最后一行,请使用for /f

for /f "delims=" %%a in (outfile.txt) do set LastLine=%%a
echo %LastLine%

如果您需要最后一行,以x=开头(并且可能还有其他行),请修改为:

for /f "delims=" %%a in ('type outfile.txt^|findstr /bi "x="') do set LastXLine=%%a
echo %LastXLine%

如果您只对该值感兴趣:

for /f "tokens=2 delims==" %%a in ('type outfile.txt^|findstr /bi "x="') do set LastXValue=%%a
echo %LastXValue%