Batch file 批处理:在文本文件中查找值并添加新行

Batch file 批处理:在文本文件中查找值并添加新行,batch-file,findstr,for-loop,Batch File,Findstr,For Loop,我有一个文本文件,其中多次包含以下行: REPORT TOTALS ###.## ## ***********NEW REPORT************ 报告总计是静态的,但是,此后的任何字符都会更改。 ***********新报告**********是静态的 但是,尝试创建一个脚本以在两者之间放置新行时,通配符的问题不适用于EQU命令: 报告总数* 以下是我的代码的基础: @ECHO OFF setlocal set inputfile=Test.txt set

我有一个文本文件,其中多次包含以下行:

REPORT TOTALS          ###.##    ##
***********NEW REPORT************
报告总计是静态的,但是,此后的任何字符都会更改。 ***********新报告**********是静态的

但是,尝试创建一个脚本以在两者之间放置新行时,通配符的问题不适用于EQU命令: 报告总数*

以下是我的代码的基础:

@ECHO OFF
setlocal

set inputfile=Test.txt
set outputfile=Test_OutPut.txt

(for /F "usebackq delims=" %%a in ("%inputFile%") do (
   echo(%%a
   if "%%a" equ "REPORT TOTALS*" (
      echo.
      echo.
   )
)) > "%outputfile%"

ECHO/
ECHO Done!
预期结果将是:

REPORT TOTALS          ###.##    ##


***********NEW REPORT************

与嵌套另一行不同,我只需检查以报表总计开头的行:

@如果存在/F令牌的Test.txt>Test_OutPut.txt=1*Delims=]%%A,则
“^%\uuuu AppDir\uuuu%find.exe/V/N^关于您的回音问题:将回音%%a更改为回音%%a。对于另一个问题,我会在if条件下放置另一个For/F循环:For/F令牌=1-2%%b in%%a do if%%b%%c==报告总数……这当然纠正了我的回音问题,谢谢@ASCHIPFL不一定遵照您的建议:对于另一个问题,我会在IF条件下放置另一个A/F循环:%/%toks= %-2% %B在%%A中,如果%%B%%C==报告总数……可能在插入新的报表之前完全更容易插入空白行,而不是在报表总计之后。将回波%%a线移动到自适应if块下方。