У меня есть фрагмент кода PS, который берет выходные данные извлечения 7-Zip и фильтрует их так, что печатаются только процентные "%" строки обновления прогресса.
Некоторые строки, которые печатаются консолью, после процентного подсчета также содержат другие элементы (например, файл, который в настоящее время извлекается).
Они всегда после .
(пробел, точка, другой пробел). Есть ли способ вырезать напечатанные строки, чтобы удалить что-либо после .
? Я не могу использовать -split
, потому что он должен быть в начале конвейера!
Код:
"Starting decompression of [$filePath]..."
& $7ZipPath "x" $filePath "-o$extractionPath" "-aos" "-bsp1" | out-string -stream | select-string %
Пример вывода:
0%
1%
4%
7%
11%
14%
17%
20%
22%
25%
29%
34%
39%
44%
46%
48%
50%
52%
54%
56%
58%
60%
61%
63%
65%
67%
69%
71%
73%
75%
77%
78% . 4x4 Evo (USA).bin
79% . 4x4 Evo (USA).bin
81% . 4x4 Evo (USA).bin
82% . 4x4 Evo (USA).bin
83% . 4x4 Evo (USA).bin
84% . 4x4 Evo (USA).bin
86% . 4x4 Evo (USA).bin
87% . 4x4 Evo (USA).bin
88% . 4x4 Evo (USA).bin
89% . 4x4 Evo (USA).bin
91% . 4x4 Evo (USA).bin
92% . 4x4 Evo (USA).bin
93% . 4x4 Evo (USA).bin
94% . 4x4 Evo (USA).bin
95% . 4x4 Evo (USA).bin
97% . 4x4 Evo (USA).bin
98% . 4x4 Evo (USA).bin
99% . 4x4 Evo (USA).bin
100% . 4x4 Evo (USA).bin