我得到了命令:
for /f "delims=// tokens=2,4,6" %%a in (memod.txt) do @echo %%a %%b %%c
应该做哪些工作。 但是我需要一个不会通过每一行文本,而是通过一个特定的行。
谢谢!
答案 0 :(得分:1)
for /f "skip=N delims=// tokens=2,4,6" %%a in (memod.txt) do @echo %%a %%b %%c & goto break
:break
skip=N
选项跳过前N行;在处理第N + 1行之后,goto
打破了下一行的处理。
答案 1 :(得分:1)
由于您没有准确地显示您想要如何选择“特定行”,因此很难得出答案,但是:
"delims=//
并未选择//
作为您所期望的分隔符,而是选择/
和。
从另一个问题来看,您的数据行似乎包含"//"
,并且FOR..delims...
语法将连续分隔符视为一个,因此它可能会起作用 - 但它也可以在一行上“工作”例如this/is/not/a/target/line/at/all
或neither///is///this///a///target///line
也许像
这样的结构for /f "tokens=2,4,6delims=/" %%a in (
'type memod.txt^|findstr /r ".*//.*//.*" '
) do (
echo %%a %%b %%c&goto skipfor
)
:skipfor
或
for /f "tokens=2,4,6delims=/" %%a in (
'type memod.txt^|findstr /r ".*//.*//.*" ^|findstr /v "///" '
) do (
echo %%a %%b %%c&goto skipfor
)
:skipfor
可能适合。