Пакет: Найти значения в текстовом файле и добавить новые строки - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть текстовый файл, который содержит следующие строки несколько раз:

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

"ОТЧЕТЫ ОБ ИТОГАХ" являются статическими, однако любые символы после этого изменяются. «*********** НОВЫЙ ОТЧЕТ ************» статический.

Попытка создать скрипт, который помещает новую строку между ними, однако, проблема в том, что подстановочные знаки не работают с EQU. Команда: "REPORT TOTALS *"

Основой моего кода является следующее:

@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************

1 Ответ

0 голосов
/ 03 ноября 2019

Вместо того, чтобы вкладывать другой , я бы просто использовал для проверки строк, начинающихся с 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=)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...