原始文件包含
;组 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 包
这不是我想要的......
有什么想法可以完成这项工作吗?