Команда Batch File - Удалить строки с фразами из файла - PullRequest
2 голосов
/ 04 ноября 2019

Я пытаюсь вырезать ненужные строки из списка установленных программ на устройствах.

В настоящее время используется:

type "original.txt" | findstr /v "Click-to-Run" | findstr /v "Visual C++" | findstr /v "Windows*SDK*"  > "example_new.txt"

Мне нужно удалить такие строки, как "Windows Desktop SDKИнструменты ", но СОХРАНЯЙТЕ такие строки, как" .Net Framework 4.0.0 SDK ".

Как можно получить это, чтобы удалить только те строки, которые содержат все указанные фразы? Можно ли это сделать, одновременно используя подстановочные знаки в выражениях?

Большое спасибо!

1 Ответ

2 голосов
/ 04 ноября 2019

Вы можете упростить свою жизнь (особенно если ваш список длинный) с помощью переключателя /g (подробности см. findstr /?).

type "original.txt" | findstr /vrg:"exclude.txt" > "example_new.txt"

, где exclude.txt содержит ваше "to-ignore "список (разрешен REGEX):

Click-to-Run
Visual C++
Windows.*SDK

(/g включает /c, поэтому пробелы не являются проблемой)

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