如何使用批处理在文本文件中的某一行之后添加多行

How do i add multiple lines after a certain line in a text file using batch

我需要编辑一个文本文件以在特定行之后插入多行,仅具有 windows 10

附带的功能

示例:在第 4

行之后插入行 foobar

添加前的文本文件示例:

line 1
line 2
line 3
line 4
line 5
line 6

添加后的文本文件示例:

line 1
line 2
line 3
line 4
foo
bar
line 5
line 6

读取文件并将其写回,在特定行号处插入新行。

@echo off

setlocal DisableDelayedExpansion
set randomline=4
set "lineno=0"
(
    FOR /F "delims=" %%L in ('findstr /n "^" sample.txt') do (
        set /a lineno+=1
        set "line=%%L"
        setlocal EnableDelayedExpansion        
        if "!lineno!"=="%randomline%" call :insertblock
        set "line=!line:*:=!"
        (echo(!line!)
        endlocal
    )
) > output.txt
exit /b

:insertblock
echo foo
echo bar
exit /b