在某行之后用新字符串替换某行字符串

在某行之后用新字符串替换某行字符串

原始文件包含

;组 1
-e包 .......

;group2
-e包.......

替换后,应该是这样的

;组 1
-e包 .......

;group2
;-epackage

基本上我想要的是注释掉第二个 -epackage

我尝试了以下代码

@echo off setlocal EnableDelayedExpansion

设置“search=;group2”设置“nextLine=;-epackage”

rem 获取搜索行的行号 for /F "delims=:" %%a in ('findstr /N /C:"%search%" Load_all.txt') do set /A "numLines=%%a-1"

rem 打开一个代码块来读取输入文件/创建输出文件

< 加载_全部.txt (

rem 读取第一行 set /P "line="

rem 复制 numLines-1 行 for /L %%i in (1,1,%numLines%) do set /P "line=!line!" & echo/

rem 替换下一行 echo %nextLine%

rem 复制其余行 findstr "^"

)> 输出.txt

rem 用创建的输出文件替换输入文件 move /Y output.txt Load_all.txt > NUL

但是,我得到的输出如下

;组 1
-e包 .......

;-e 包
-e 包

这不是我想要的......

有什么想法可以完成这项工作吗?

相关内容