批处理的for语句中,如何skip掉其中一行

批处理的for语句中,如何skip掉其中一行?
假设我有三行,我只要第二行的文字。
但是我用skip=2时,为什么会自动把第三行也弄出来了?

skip=n 这里的n指的是跳过开头的n行
并不是说 跳过第n行

如果说文本有3行,而你只要第二行的话,
可以用skip=1,先跳过第1行
然后echo 第2行,接着退出for循环就可以了
当然,用一个变量去记录当前是第几行,也可以,不过相对麻烦一点

for /f "skip=1 delims=" %%1 in (123.txt)do echo %%1& pause>nul& exit
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-31
skip=2只是跳过第一行而己。

@echo off
setlocal enabledelayedexpansion
set n=1
for /f "skip=2 delims=" %%a in (1.txt) do (
echo %%a
set /a n=!n!+1
if !n!==2 goto end
)
:end
pause>nul
相似回答