在我要编写的一个批处理文件中,我需要将5行文本文件的最后一行读入一个变量。我想到的一种方法可能是使文本文件中的每一行都覆盖先前的行(因为文件创建和行都由命令创建,特别是slmgr/xpr),但是我不确定如何做这个。任何建议或替代方式做到这一点,不胜感激!

cscript %windir%\system32\slmgr.vbs /xpr > xprtest.txt
pause
for /F "skip=4 delims=" %i in (xprtest.txt) set /p xprvar= <xprtest.txt
pause
echo %xprvar%

最佳答案

如果您要明确第5行

set "xprvar="
for /F "skip=4 delims=" %%i in (xprtest.txt) do if not defined xprvar set "xprvar=%%i"

或者
for /F "skip=4 delims=" %%i in (xprtest.txt) do set "xprvar=%%i"&goto nextline
:nextline

如果您想要最后一行而不管行数如何:
for /F "delims=" %%i in (xprtest.txt) do set "xprvar=%%i"

09-27 16:03