Пример вывода 7zip-извлечения выглядит так:
Scanning the drive for archives:
1 file, 9770776 bytes (9542 KiB)
Extracting archive: tools\StrawberryPerl.7.exe
--
Path = tools\StrawberryPerl.7.exe
Type = 7z
Offset = 162816
Physical Size = 9607960
Headers Size = 11687
Method = LZMA:24m BCJ2
Solid = +
Blocks = 2
78% 602 - perl\lib\auto\Module\Pluggable\.packlistProcess SpawnPoolWorker-6:
Мой вопрос: как это можно подавить, чтобы получить только процент извлечения (78% 602 - perl\lib\auto\Module\Pluggable\.packlistProcess SpawnPoolWorker-6:
)?
Iнашел несколько ответов на подавление подробного вывода, например:
- Добавление
>NUL:
в конец команды bat, что полностью подавит сообщения. - Использование
subprocess.Popen
вPython с stdout=PIPE
и stderr=PIPE
, который снова подавляет все сообщения. - Использование
findstr /b /r /c:"\<Everything is Ok"
в команде bat, которая будет отфильтровываться на основе заданной строки. Здесь я попытался использовать регулярные выражения, вроде \d+\%
, но не помогло. Как вы видите, я не очень хорош в пакетном сценарии. Любое предложение будет оценено!