使用PowerShell计算阵列中的列数
我有以下代码:使用PowerShell计算阵列中的列数,powershell,Powershell,我有以下代码: $array = Get-Process 现在,我想数一数列的数量。我试过: $array.Columns.Count $array.Columns 而且都没有运气 我应该如何获得正确的列数?应该是8 我已将代码修改为: $Processes = @(Get-Process | Select-Object -Property Name, Description, ProductVersion, @{Name="Application";Expressio
$array = Get-Process
现在,我想数一数列的数量。我试过:
$array.Columns.Count
$array.Columns
而且都没有运气
我应该如何获得正确的列数?应该是8
我已将代码修改为:
$Processes = @(Get-Process | Select-Object -Property Name, Description, ProductVersion, @{Name="Application";Expression={$_.Description + " " + $_.ProductVersion}},@{Name="Executable";Expression={(($_."Path").split("\"))[-1]}} |Where {$_.Executable})
$Array = @()
$Record = [ordered] @{"Name" = "";
"Application" = ""}
ForEach ($ProcesName in $Processes)
{
$Record."Name" = $ProcesName.Name
$Record."Application" = $ProcesName.Application
$objRecord = New-Object PSObject -Property $Record
$Array += $objRecord
}
Clear-Host
Write-Host "Number of columns: $($Array.Column.Count)"
Write-Host "Number rows: $($Array.Count)"
结果是相同的:列和行都相同。这是不对的。我想在一个包含更多列的新脚本中使用该技术
欢迎反馈
致以亲切的问候,
StangPilot是类型为System.Diagnostics.Process的对象数组。没有这样的列。对象具有属性,您可以选择使用
$array | ft
在列中显示这些属性,或将其作为列表$array | fl*
显示。您可以按如下方式计算属性:
$array | Get-Member -MemberType Property | measure
如果您希望答案为8,则可以这样做:
$array | select Handles, NPM, PM, WS, CPU, Id, SI, Name | Get-Member -MemberType NoteProperty | measure
您在显示中看到的是该特定对象类型的默认视图。房地产的实际数量要大得多。我不知道这个练习的意义。你好,马克,谢谢你的反馈。我以为这是个简单的问题。。。不我已经修改了这个问题,看看今天添加的部分。我刚刚灵机一动:($Array | Get Member-MemberType NoteProperty | measure)。Count