for
命令,现在我想了解这一点:在file0.txt
:
start:file
tag1:a1
tag2:a2
tag3:a3
end:file
start:file
tag1:b1
tag2:b2
tag3:b3
end:file
如何在命令提示符下从[start]行切换/复制到[end]行到另一个文件(即将其写入另一个文件,如file1.txt)?
*如果你没有得到它,这就是我想要的:
将文字从file0.txt
转到此⇩
file1.txt
:
start:file
tag1:a1
tag2:a2
tag3:a3
end:file
file2.txt
start:file
tag1:b1
tag2:b2
tag3:b3
end:file
(实际上,这可以在命令提示符中完成吗?如果没有,是否有任何支持此语言的语言?)
答案 0 :(得分:2)
简单 - 就像你手工做的那样(每次,一行以&#34开头;开始:",开始一个新文件):
@echo off
setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%a in (file0.txt) do (
echo %%a|findstr /bi "start:" >nul && set /a n+=1
echo %%a>>"file!n!.txt"
)
相同的逻辑适用于所有语言。