如何选择特定的列

| 我需要提取特定列的值。我需要解析使用cmd生成的输出:
netstat -an |

Select-String \"TCP\\s+.+\\:.+\\s+(.+)\\:(\\d+)\\s+(\\w+)\" |

ForEach-Object {

    $key = $_.matches[0].Groups[1].value

    $Status = $_.matches[0].Groups[3].value.
打印时上面的2个字符串为我提供了外部IP和连接状态。我需要一列带有外部IP连接到的本地IP端口号的列。     
已邀请:
        我不确定一列的意思,但是我已经对您的正则表达式进行了调整,这将获得本地和外部地址及端口:
netstat -an |

Select-String \"TCP\\s+(.+)\\:(.+)\\s+(.+)\\:(\\d+)\\s+(\\w+)\" |

ForEach-Object {

    $LocalAddress =  $_.matches[0].Groups[1].value
    $LocalPort =  $_.matches[0].Groups[2].value
    $ForeignAddress = $_.matches[0].Groups[3].value
    $ForeignPort = $_.matches[0].Groups[4].value

    Write-Output \"ForeignAddress: $ForeignAddress `t ForeignPort: $ForeignPort `t LocalAddress: $LocalAddress `t LocalPort: $LocalPort\"
}
    
        如果您在Windows 8或Windows Server 2012上运行,则可以在Powershell V3中使用以下命令示例: 使用选择对象进行流水线化
Get-NetTCPConnection | Select LocalAddress,LocalPort,RemoteAddress,RemotePort
分别选择每个属性
(Get-NetTCPConnection).LocalAddress
(Get-NetTCPConnection).LocalPort
(Get-NetTCPConnection).RemoteAddress
(Get-NetTCPConnection).RemoteAddress
使用每个属性创建变量
$LocalAddress = (Get-NetTCPConnection).LocalAddress
$LocalPort = (Get-NetTCPConnection).LocalPort
$Remote Address = (Get-NetTCPConnection).RemoteAddress
$RemotePort = (Get-NetTCPConnection).RemoteAddress
这些都应该列为清单。 希望这可以帮助 :)     

要回复问题请先登录注册