попробуйте это как первую попытку
@echo off
setlocal enabledelayedexpansion
set prevline=
for /f "tokens=*" %%a in (a.txt) do (
if '%%a'=='PT' (
echo !prevline!PT
set prevline=
) else (
if not '!prevline!'=='' echo !prevline!
set prevline=%%a
)
)
этот пакетный файл выполняет итерацию по всем строкам файла a.txt, сохраняя каждую строку в переменной prevline
, если ему удается найти строку 'PT', он выплевывает сохраненную строку и объединяет PT, если он случается, что не находит строку PT, она плюет только на сохраненную строку и сохраняет новую строку.
Дополнительное объяснение см. help for
и help set
.