PowerShell에서 개체 수를 계산하는 방법은 무엇입니까?
PowerShell 사용자 가이드에서 읽은 바와 같이 PowerShell의 핵심 개념 중 하나는 명령이 텍스트 대신 개체를 수락하고 반환한다는 것입니다.예를 들어, 실행은get-alias여러 개를 반환합니다.System.Management.Automation.AliasInfo객체:
PSZ:\> get-alias 명령 유형 이름 정의----------- ---- ----------각 개체에 대한 별칭 %별칭?위치-객체Aliasac 주소-내용별칭 asnp Add-PS 스냅인별칭 고양이 가져오기-내용별칭 cd 세트-위치별칭 chdir 집합-위치...
자, 이 물체들의 개수를 어떻게 알 수 있을까요?
다음과 같이 카운트됩니다.
get-alias | measure
다음과 같이 결과를 사용하여 작업할 수 있습니다.
$m = get-alias | measure
$m.Count
또한 일부 변수에 별칭을 지정하려면 Tee-Object를 사용할 수 있습니다.
$m = get-alias | tee -Variable aliases | measure
$m.Count
$aliases
Measure-Object cmdlet에 대한 자세한 내용은 Technet에 있습니다.
시간 측정용 Measure-Command cmdlet과 혼동하지 마십시오.(다시 테크넷에서)
@jumbo의 대답만 짧게 하면 :-) 당신은 그것을 훨씬 더 간결하게 할 수 있습니다.이것은 단지 그것을 반환합니다.Count선행 하위 계산에 의해 반환된 배열의 속성:
@(Get-Alias).Count
몇 가지 주의할 점은 다음과 같습니다.
다음 대신 임의로 복잡한 식을 넣을 수 있습니다.
Get-Alias예:@(Get-Process | ? { $_.ProcessName -eq "svchost" }).Count강력한 솔루션을 위해서는 초기 앳사인(@)이 필요합니다.답이 2개 이상이면 @가 있든 없든 동등한 답을 얻을 수 있지만, 답이 0이거나 1일 때는 @ 기호가 없는 한 출력을 얻을 수 없습니다! (힘을 줍니다.)
Count속성은 출력을 배열로 강제 설정하여 존재합니다.)
2012.01.30 업데이트
위의 내용은 PowerShell V2에 해당됩니다.PowerShell V3의 새로운 기능 중 하나는 다음과 같은 기능이 있다는 것입니다.Count속성은 싱글톤의 경우에도 마찬가지이므로 앳 부호는 이 시나리오에서 중요하지 않습니다.
괄호와 'count'만 사용하면 됩니다.이는 Powershell v3에 적용됩니다.
(get-alias).count
@($output).Count항상 올바른 결과가 나오는 것은 아닙니다.사용했습니다.($output | Measure).Count방법.
VMware Get-VmQuestion cmdlet에서 다음을 찾았습니다.
$output = Get-VmQuestion -VM vm1
@($output).Count
그것이 준 답은 하나인 반면,
$output
. (은 0입니다.)Measure방법)을 선택합니다.
이것은 0과 1의 경우에만 해당되는 것처럼 보였습니다.제한적인 테스트를 통해 1을 초과하는 항목은 모두 정확했습니다.
제 교환에서 당신이 제시한 cmd-let이 작동하지 않았고, 답변이 null이었기 때문에, 저는 약간의 수정을 해야 했고, 저를 위해 잘 작동했습니다.
@(get-transportservice | get-messagetrackinglog -Resultsize unlimited -Start "MM/DD/AAAA HH:MM" -End "MM/DD/AAAA HH:MM" -recipients "user@domain.com" | where {$_.Event
ID -eq "DELIVER"}).count
Get-Alias|ForEach-Object {$myCount++};$myCount
158
총 개체 수를 가져오려면 이 옵션을 사용하십시오. (Get-Alias)세어보세요
언급URL : https://stackoverflow.com/questions/11526285/how-to-count-objects-in-powershell
'programing' 카테고리의 다른 글
| 비동기 대기가 추가 스레드를 생성하지 않는 경우 애플리케이션의 응답성을 어떻게 높입니까? (0) | 2023.05.17 |
|---|---|
| Panda 그룹을 사용하여 여러 행의 문자열을 연결합니다. (0) | 2023.05.17 |
| Postgre에 데이터베이스가 있는지 확인합니다.셸을 사용한 SQL (0) | 2023.05.12 |
| 원격 오리진이 새 리포지토리에 대한 'git push'에 이미 있습니다. (0) | 2023.05.12 |
| 메이븐을 사용하여 JAR의 "META-INF/services" 폴더에 구성 파일을 포함하는 방법 (0) | 2023.05.12 |