파워쉘에서 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 |