PowerShellで配列を扱う基礎知識
この記事ではPowerShellで配列を扱う基本的な方法について解説します。
配列の生成、要素へのアクセス、追加や削除などの操作を具体例を交えながら分かりやすく説明します。
初めての方にも理解しやすい内容で、PowerShellの作業効率を高めるためのヒントが得られます。
配列の作成方法
リテラルを使用した初期化
PowerShellでは配列を手軽に作成するために、リテラル構文を使うことができます。
値をカンマで区切り、全体を@(...)
で囲むことで配列を初期化します。
以下のサンプルコードでは、文字列の配列を作成し、その内容を表示しています。
# 配列リテラルを用いて初期化する例
$array = @( "apple", "banana", "cherry" )
# 配列の内容を表示
$array
apple
banana
cherry
配列オブジェクトによる生成
固定サイズの配列ではなく、動的に要素を追加・削除できるArrayList
オブジェクトを使用する方法もあります。
サンプルコードでは、New-Object
を使ってSystem.Collections.ArrayList
のインスタンスを生成し、要素を追加しています。
# ArrayListオブジェクトを利用して配列を生成する例
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("dog") | Out-Null # 要素を追加
$arrayList.Add("cat") | Out-Null
$arrayList.Add("bird") | Out-Null
# 配列の内容を表示
$arrayList
dog
cat
bird
配列へのアクセス方法
インデックス指定でのアクセス
単一要素の取得方法
配列の各要素はインデックス(0から始まる番号)でアクセスできます。
以下の例では、$array
のインデックス1
の要素を取得しています。
# 配列から単一要素をインデックス指定で取得する例
$array = @( "red", "green", "blue" )
$color = $array[1] # インデックス1の要素 "green" を取得
$color
green
複数要素の取得方法
複数のインデックスをカンマで区切って指定することで、複数要素を同時に取得することができます。
以下のサンプルでは、インデックス0
と2
の要素を取得しています。
# 複数要素をインデックス指定で取得する例
$array = @( "red", "green", "blue", "yellow" )
$colors = $array[0,2] # "red" と "blue" を取得
$colors
red
blue
範囲指定によるアクセス
配列の一部分を範囲指定で取得する場合、..
演算子を利用します。
以下の例では、インデックス1
から3
までの要素を抽出しています。
# 配列の範囲指定によるアクセス例
$array = @( "alpha", "beta", "gamma", "delta" )
$subset = $array[1..3] # インデックス1から3までの要素 "beta", "gamma", "delta" を取得
$subset
beta
gamma
delta
配列の編集操作
要素の追加
単一要素の追加
PowerShellの配列は基本的に固定サイズですが、+
演算子を用いることで新たな要素を追加した新しい配列を生成できます。
下記の例では、既存の配列に単一の要素を追加しています。
# 単一要素を追加する例(新しい配列を生成)
$array = @( "circle", "square" )
$array = $array + "triangle"
$array
circle
square
triangle
複数要素の追加
複数の要素を追加する場合も、同じく+
演算子を利用して別の配列を連結します。
以下のサンプルでは、2つの新たな要素を追加しています。
# 複数要素を追加する例(新しい配列を生成)
$array = @( "circle", "square" )
$array = $array + @( "triangle", "rectangle" )
$array
circle
square
triangle
rectangle
要素の削除
インデックス指定での削除
固定サイズの配列から要素を削除することは直接はできません。
そのため、動的な編集が可能なArrayList
を使用して、インデックスで要素を削除する方法を紹介します。
下記の例では、インデックス1
の要素を削除しています。
# ArrayListを使ってインデックス指定で要素を削除する例
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("one") | Out-Null
$arrayList.Add("two") | Out-Null
$arrayList.Add("three") | Out-Null
# インデックス1の要素 "two" を削除
$arrayList.RemoveAt(1)
$arrayList
one
three
値指定による削除
ArrayList
では、削除したい要素の値を指定して削除することも可能です。
以下の例では、値が"banana"
の要素を削除しています。
# ArrayListを使って値指定で要素を削除する例
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("apple") | Out-Null
$arrayList.Add("banana") | Out-Null
$arrayList.Add("cherry") | Out-Null
# 要素 "banana" を削除
$arrayList.Remove("banana")
$arrayList
apple
cherry
配列の変換と結合操作
配列の結合方法
複数の配列を結合する際は、+
演算子を使用します。
以下のサンプルでは、2つの配列$array1
と$array2
を結合し、1つの配列としてまとめています。
# 複数の配列を結合する例
$array1 = @( "A", "B" )
$array2 = @( "C", "D" )
$mergedArray = $array1 + $array2
$mergedArray
A
B
C
D
配列の分割方法
配列を分割する際には、範囲指定を使って必要な部分だけを抽出する方法が有効です。
以下の例では、6要素からなる配列を前半と後半に分割しています。
# 配列を範囲指定で分割する例
$array = @( 1, 2, 3, 4, 5, 6 )
# 最初の3要素を抽出
$firstHalf = $array[0..2]
# 後半の要素を抽出
$secondHalf = $array[3..5]
# 前半の要素を表示
$firstHalf
# 後半の要素を表示
$secondHalf
1
2
3
4
5
6
まとめ
この記事では、PowerShellでの配列操作の基本について解説しました。
配列の初期化にはリテラルやArrayListを使う方法があり、インデックスや範囲指定での要素取得が可能です。
また、配列への要素追加、削除の方法や配列同士の結合・分割方法も具体的なサンプルコードとともに説明しました。
これにより、配列操作の基本を理解できる内容となっています。