Text 获取文本集的第二行作为变量,用于批处理

Text 获取文本集的第二行作为变量,用于批处理,text,for-loop,batch-file,Text,For Loop,Batch File,我的桌面上有一个名为“1234.txt”的文本文件,其中包含四行文本,如下所示: Test Test1 Test2 Test3 我想使用FOR命令回显第二行(也称为Test1)。我用的是: @echo off for /f "skip=1" %%G IN (1234.txt) DO @echo %%G pause 它回来了 Test1 Test2 Test3 Press any key to continue . . . 如何将FOR命令设置为仅读取第二行(Test1),而不是第三行和第四

我的桌面上有一个名为“1234.txt”的文本文件,其中包含四行文本,如下所示:

Test
Test1
Test2
Test3
我想使用FOR命令回显第二行(也称为Test1)。我用的是:

@echo off
for /f "skip=1" %%G IN (1234.txt) DO @echo %%G
pause
它回来了

Test1
Test2
Test3
Press any key to continue . . .
如何将FOR命令设置为仅读取第二行(Test1),而不是第三行和第四行?干杯

试试这个:

@echo off
for /f "skip=1" %%G IN (1234.txt) DO if not defined line set "line=%%G"
echo %line%
pause
其他例子:

for /f "tokens=1*delims=:" %%G in ('findstr /n "^" 1234.txt') do if %%G equ 2 echo %%H

很有魅力,谢谢。我理解它是如何工作的,当它在文本文档中搜索时,它会将第二行设置为“行”(因为它没有定义),当它读取第三行时,“行”已经定义,所以它会继续暂停。我明白要点了吗?好的,我会在6分钟内接受你的回答,只要它能让我明白。再次感谢!在第二个示例中,
findstr
对行进行计数。计数在
%%G
中,行在
%%H
中。如果count=2,则重复该选项。@endro,您的答案对我非常有用。:)在第一个示例中,如果一条线包含一个空格,则在出现该空格之前,它只会被回显。这怎么能补救呢。。。如果我也可以问的话,我试图理解第二个例子,它是有效的,不考虑空格。
“tokens=1*delims=:”
“^”
部分如何在代码片段的上下文中工作?@Chris在第一个示例中,要获得整行而不是只获得第一个单词,请添加
delims
参数,这样:
“delims==skip=1”
它对我有效:-)(谢谢,@endro!)