【问题标题】:Assign Last Two Lines of Text as Variable via Batch Script通过批处理脚本将最后两行文本分配为变量
【发布时间】:2013-08-26 21:47:58
【问题描述】:

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

file.txt 包含:

Release2010
Release2011
Release2013

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

感谢您的帮助!

【问题讨论】:

  • 谢谢你们俩。我真的很感激你的帮助!

标签: text batch-file


【解决方案1】:

你可以试试这个:

@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%

【讨论】:

    【解决方案2】:

    这是一种不启用延迟扩展的方法。

    @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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 2018-04-12
      • 2012-01-26
      • 2014-12-05
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      相关资源
      最近更新 更多