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块下方。