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

问题描述 投票:0回答:1

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

REPORT TOTALS          ###.##    ##
***********NEW REPORT************

“ REPORT TOTALS”是静态的,但是此后任何字符都会更改。“ *********** NEW REPORT ************”是静态的。

[试图创建一个介于两者之间的新行的脚本,但是,问题是通配符不适用于EQU Command:“报告总数*”

以下是我的代码的基础:

@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************
batch-file findstr
1个回答
0
投票

而不是嵌套另一个,我只是使用检查以REPORT TOTALS 开头的行:

@If Exist "Test.txt" (>"Test_OutPut.txt" (For /F "Tokens=1*Delims=]" %%A In (
            '^""%__AppDir__%find.exe" /V /N ""^<"Test.txt"^" 2^>NUL'
        ) Do @(Echo="%%B"|>NUL "%__AppDir__%findstr.exe" /BRIC:"\"REPORT TOTALS "
            If ErrorLevel 1 (Echo=%%B) Else Echo=%%B&Echo=&Echo=)))
© www.soinside.com 2019 - 2024. All rights reserved.