본문 바로가기
파워쉘(Powershell)/문법

파워쉘-PSCustomObject

by 예배파 2024. 4. 16.

파워쉘에서 PSCustomObject를 사용해서 구조화된 데이터를 만들 수  있습니다

예를들어 학생부를 만들때, 학생 한 명에 필요한 정보는

 

번호

이름

전화번호

성별

 

이런 값들을 하나의 객체에 넣어서 처리하면 편리합니다

$student1 = [PSCustomObject]@{
    Num = 1
    Name = 'kim'
    Phone = '010-000-0000'
    Male = $true

}

$student1


실행결과
Num Name Phone        Male
--- ---- -----        ----
  1 kim  010-000-0000 True

 

 

만들어진 객체를 Get-Member로 살펴보기

입력한 값에 따라 속성값들의 타입이 달라지는것을 볼 수 있습니다  

 

 

PSCustomObject로 만든 객체의 속성값은

객체이름.속성값 
방법으로 값을 읽을수 있습니다 

$student1.Name
$student1.Num


실행결과
Kim
1

 

 

 

Male은 bool 타입으로 조건문에 사용될 수 있습니다

예제는 배열에 학생들 객체를 저장하고 Male의 값에 따라서 남자,여자를 구별하여 출력합니다

$arr = @()

$student1 = [PSCustomObject]@{
    Num = 1
    Name = 'kim'
    Phone = '010-000-0000'
    Male = $true
}
$arr += $student1

$student2 = [PSCustomObject]@{
    Num = 2
    Name = 'Hong'
    Phone = '010-001-0001'
    Male = $false
}
$arr += $student2

$student3 = [PSCustomObject]@{
    Num = 3
    Name = 'Cho'
    Phone = '010-002-0002'
    Male = $true
}
$arr += $student3

ForEach($student in $arr){
    Write-Host $student.Num
    Write-Host $student.Name
    Write-Host $student.Phone

    if($student.Male){
        Write-Host "남자"
    }else{
        Write-Host "여자"
    }
    Write-Host
}

 

 


Out-GridView로 출력

$arr | Out-GridView

 

 

 

CSV파일로 출력

$arr | Export-Csv .\t.csv -NoTypeInformation

'파워쉘(Powershell) > 문법' 카테고리의 다른 글

파워쉘 - 날짜, 시간 (Get-Date)  (0) 2024.04.05
파워쉘 해시 테이블(Powershell HashTable)  (0) 2024.03.08
ArrayList  (0) 2024.03.07
반복문 (For, ForEach, Do ~ while, While)  (0) 2024.02.09
배열 - Array  (0) 2024.01.21