タグ
  Active Directory (51)
  ANSI (1)
  bash (1)
  BAT (14)
  bind (1)
  CentOS (3)
  CSharp (1)
  C言語 (4)
  DNS (3)
  Excel (1)
  Fedora (4)
  FreeBSD (3)
  iSCSI (1)
  Java (11)
  JavaScript (6)
  Link (4)
  Linux (15)
  Mail (1)
  Microsoft (4)
  NIS (1)
  OpenLDAP (2)
  OpenSolaris (4)
  PHP (2)
  PostgreSQL (2)
  PowerShell (33)
  RFC (3)
  Solaris (10)
  SQL Server (1)
  Ubuntu (3)
  VBScript (65)
  Visual Basic (1)
  VMware (2)
  Windows (14)
  WMI (16)
  WSF (5)
  WSH (10)
  作成中 (5)
  慣用句 (1)
  正規表現 (6)
PowerShell の配列操作
基本
空の配列の作成
要素を追加するときは += 演算子を使用する
$test = @()
$test += 1
配列の作成
型を指定せずに配列を作成すると Object[] になる。
つまり、数字と文字が混在した配列も作成できる。
$test = 1,2,3
$test = @(1,2,3)
[byte[]] $test = New-Object byte[] 10
配列の部分取り出し
$test[1..5]
配列の長さ
$test.length
値の有無の確認
$a = 1,2,3
$a -contains 1
連想配列の作成とアクセス
要素の区切りはカンマではなくセミコロンであることに注意
$test = @{}
$test = @{a = 1; b = 2; c = 3}
$test["a"]
$test.a
$test += @{d = 4}
使用上の注意
Ver1 と Ver 2 で異なる挙動
Ver1 は文字列連結になり $b に 11,21,31 が代入される。要素の比較は数値として扱うことが可能
Ver2 は $b に 2,3,4 が代入される。
$a = @(1,2,3)
$b = @(foreach($v in $a){ $v + 1 })
$c = foreach($v in $a){ $v + 1 }     # ver1 はこの記述が不可
空配列は $null で評価できない
以下の記述はいずれも $false になる
$a = @() 
if($a -eq $null){ $true }else{ $false }
if($a -ne $null){ $true }else{ $false }
配列かどうか調べるには、
$a = @()
$a.GetType().BaseType -eq [System.Array]
タグ: PowerShell
[リロード] [記事修正] [新規作成] [使用方法]
©2004-2010 UPKEN