Удаление определенного текста в текстовом файле с помощью пакета - PullRequest
0 голосов
/ 30 мая 2018

Есть файл Analysis.txt, из которого мне нужны все строки, содержащие « TEXT » и 1 .Я сделал это так:

FOR /F %%i in (Analysis\Analysis.gla) do (
  echo %%i >> Analysis.txt
)

::////Findet Alle Dateinamen in Analysis
for /f %%a IN ('type "Analysis.txt" ^| findstr /i "<Path>" 2^>nul') DO echo 
%%a >> Path.txt
::////Findet den dazugehörigen Channel
for /f %%a IN ('type "Analysis.txt" ^| findstr /i "<Channel>" 2^>nul') DO 
echo %%a >> Channel.txt

Теперь все отсортировано.Но мне нужны только элементы между и .

Так что мой вопрос, могу ли я удалить и перед сохранением их в другой .txt или я могу просто прочитатьэлемент между ними и сохранить его в переменной.

Конечный результат должен получить первый ряд Path.txt и Channel.txt и объединить их.

Привет,

Alex

1 Ответ

0 голосов
/ 30 мая 2018

Если предположить, что в противном случае (например, в примере строк) отсутствует информация о том, что весь необходимый текст находится на одной физической строке, а в строке нет предшествующих пробельных символов,

for /f "tokens=2 delims=><" %%a IN ('type "Analysis.txt" ^| findstr /i "<Path>" 2^>nul') DO echo %%a >> Path.txt

должно работать.Если в строках есть пробелы, измените 2 на 3.

См. for /? в приглашении для рассуждения - или посмотрите тысячи похожих примеров на SO.

(также, findstr /i "<Path>" "Analysis.txt" может также использоваться, чтобы избежать type и трубы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...