文本文件最后一行移动到第三行,请问批处理命令该怎么写呢?

有一堆文本文件,现在想把每个文件的最后一行移动到第三行,请问批处理命令该怎么写呢?十分感谢!

第一行是标题
第二行是作者名
第三行是空行
第四行以后是正文,行数各不相同
最后一行是出处
现在要把最后一行的出处移动到作者名下,即第三行

@echo off
for /f "delims=" %%a in ('dir/b *.txt')do (
echo %%a
for /f %%b in ('type "%%a"^|find /v /c ""')do set/a "m=%%b-1"
call :y "%%a"
move temp.yky "%%a")
pause&exit
:y
(for /f "tokens=1* delims=:" %%c in ('findstr/n .* %1')do if %%c leq %m% (
if %%c equ 3 (
more +%m% %1)else echo/%%d
))>temp.yky
goto :eof

需要提醒一下,最后一行之后不能再有空行(最多可有一个换行,再加空格或多换行就会把它当成最后一行)
温馨提示:答案为网友推荐,仅供参考
相似回答