PowerShell 配列の使い方のサンプル

PowerShellの配列の使い方のサンプルです。

サンプル 配列とは
配列を作成 / 要素を追加
要素を取得(for文、foreach文)
  要素を検索(Where-Object)
配列の値を昇順と降順でソート(Sort-Object)

配列とは

$arr = 値1 , 値2 , 値3 

上記は複数の値を変数aに代入しています。
この変数aは配列として複数の値を持ちます。

配列の図

  • 1つの変数で複数の値を保持できます。
  • 各項目を要素(element)といいます。
  • 配列のそれぞれの値は添字(インデックス番号)でアクセスできます。上記図では[0]、[1]、[2]、[3]が添字です。
  • 添字は0から始まります。

配列を作成

$arr1 = "A", "B", "C"

foreach ($str in $arr1) {
  Write-Host $str # A B C
}

$arr2 = @("D", "E", "F")

foreach ($str in $arr2) {
  Write-Host $str # D E F
}

$arr3 = 1..3

foreach ($num in $arr3) {
  Write-Host $num # 1 2 3
}

$arr4 = @()

配列を作成しています。
1行目は、カンマ区切りです。
7行目は、@とかっこで値を区切っています。
13行目は、数値で連続した値になります。
19行目は、空の配列を作成します。

 

要素を追加

変数 = 変数 + 値
変数 += 値
$arr = @()

$arr = $arr + "A"
$arr = $arr + "B"
$arr += "C"

Write-Host $arr[0]  # A
Write-Host $arr[1]  # B
Write-Host $arr[2]  # C

1行目の@()は、空の配列を作成します。
3~5行目は要素を追加しています。5行目のように+=のみでも追加できます。

 

要素を取得(for文、foreach文)

$arr = "A", "B", "C" # 配列

for ($i = 0; $i -lt $arr.Length; $i++) {
  Write-Host $arr[$i] # A B C
}

foreach ($str in $arr) {
  Write-Host $str # A B C
}

3行目はfor文です。添字[$i]で各要素にアクセスします。
7行目はforeach文です。添字はありません。

 

要素を検索(Where-Object)

配列に該当の値が存在するときtrueになるサンプルです。

$arr1 = "A", "B", "C" # 配列

if ($arr1 | Where-Object {$_ -eq "B"}){
    Write-Host 'hit'  # hit
}

-eq以外の演算子も可能です。

 

配列の値を昇順と降順でソート(Sort-Object)

$arr1 = 100, 2, 99 # 配列

$arr2 = $arr1 | Sort-Object

Write-Host $arr2  # 2 99 100

$arr3 = $arr1 | Sort-Object -Descending

Write-Host $arr3  # 100 99 2

3行目は、昇順になります。
7行目は、末尾に-Descendingをつけて降順にしています。

関連の記事

PowerShell for文 処理を繰り返すサンプル

△上に戻る