“-split”-在“-stream”的输出中?
"-split"-ing the output from "-stream"?
我有一段 PS 代码,它获取 7-Zip 提取输出并对其进行过滤,因此只打印百分比“%”的进度更新行。
控制台打印的一些行在百分比计数后也有其他内容(比如当前正在提取的文件)。
这些总是在 .
之后(space,句点,另一个 space)。有没有办法减少打印的字符串以删除 .
之后的任何内容?我似乎无法使用 -split
,因为它必须位于管道的开头!
代码:
"Starting decompression of [$filePath]..."
& ZipPath "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
我不喜欢那种需要大量管道的解决方案。
也许你应该考虑使用 Expand-Archive
但是这条线可以工作:
"100% . 4x4 Evo (USA).bin" | Select-String -Pattern "\d{1,3}%" -AllMatches | ForEach-Object { $_.Matches.Value }
我有一段 PS 代码,它获取 7-Zip 提取输出并对其进行过滤,因此只打印百分比“%”的进度更新行。
控制台打印的一些行在百分比计数后也有其他内容(比如当前正在提取的文件)。
这些总是在 .
之后(space,句点,另一个 space)。有没有办法减少打印的字符串以删除 .
之后的任何内容?我似乎无法使用 -split
,因为它必须位于管道的开头!
代码:
"Starting decompression of [$filePath]..."
& ZipPath "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
我不喜欢那种需要大量管道的解决方案。
也许你应该考虑使用 Expand-Archive
但是这条线可以工作:
"100% . 4x4 Evo (USA).bin" | Select-String -Pattern "\d{1,3}%" -AllMatches | ForEach-Object { $_.Matches.Value }