通过批处理脚本将最后两行文本分配为变量

时间:2013-08-26 21:47:58

标签: text batch-file

您好我有一个文本文件,我需要在批处理脚本中将最后两行用作两个变量。例如:

file.txt包含:

Release2010
Release2011
Release2013

我需要var1 = Release2011和var2 = Release2013。文件的长度会有所不同,但我总是需要最后两行。

感谢您的协助!

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "delims=" %%a IN (file) DO (
    SET "var2=!var1!"
    SET "var1=%%a"
)
ECHO(var1: %var1%
ECHO(var2: %var2%

和没有delayed expansion的情况相同:

@ECHO OFF &SETLOCAL
FOR /f "delims=" %%a IN (file) DO (
    CALL SET "var2=%%var1%%"
    SET "var1=%%a"
)
ECHO(var1: %var1%
ECHO(var2: %var2%

答案 1 :(得分:0)

这是一种在不启用延迟扩展的情况下执行此操作的方法。

@ECHO OFF
FOR /F %%A IN (InFile.txt) DO (
   CALL :SetSecondLastLine
   SET LastLine=%%A
   )
ECHO.SecondLastLine=%SecondLastLine%
ECHO.LastLine=%LastLine%
pause
GOTO :eof

:SetSecondLastLine
SET SecondLastLine=%LastLine%
GOTO:EOF