You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为PowerShell输出添加竖线分隔符?

最优实现方式推荐

嘿,这个需求其实有几种靠谱的实现路径,其中最稳妥、最优的方式是直接从PowerShell对象层面提取属性并拼接,完全避开格式化后字符串解析可能带来的空格数量不确定等问题,下面给你具体方案:

方案一:直接从进程对象生成竖线分隔输出(推荐)

利用PowerShell的Join-String cmdlet直接提取目标属性并指定分隔符,这是最可靠的方式,尤其适用于通用场景(比如属性值含空格的情况也不会出错):

Get-Process -Name explorer | Select-Object Handles, WS, CPU, Id, ProcessName | Join-String -Property Handles, WS, CPU, Id, ProcessName -Separator '|'

执行后会直接输出:2623|255336448|178.125|10080|explorer

方案二:处理已有的空格分隔字符串

如果你已经拿到了那行无表头的空格分隔输出,也可以用正则替换的方式把连续空白字符换成竖线:

# 假设你已经有了输出内容存到变量里
$rawOutput = "2623 255336448 178.125 10080 explorer"
$rawOutput -replace '\s+', '|'

或者直接在原管道后面追加处理逻辑:

Get-Process -Name explorer | Select-Object Handles, WS, CPU, Id, ProcessName | Format-Table -HideTableHeaders | Out-String | ForEach-Object { $_ -replace '\s+', '|' } | Trim

为什么推荐第一种?因为它直接操作进程对象的属性值,不需要依赖格式化后的文本格式,避免了因列宽变化导致空格数量不一致的问题,通用性和稳定性都更强。

内容的提问来源于stack exchange,提问作者user3342256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:49:28