スクリプトを組むときに毎回調べてしまうので忘備録として。
> $PSVersionTable
Name Value
PSVersion 5.1.16299.251
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.16299.251
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
### 定数
Set-Variable -name 定数名 constant -value 値 -option constant
### 配列
〇配列の作成
name_list = "あ", "い", "う"
# 上記の記述だと、要素が一つの配列を作成する場合は以下の通り。
name_list = , "あ"
# 以下の記載だと空の配列も作成でき、要素が1つの配列もそのまま作成可能。
name_list = @("あ", "い", "う")
〇2次元配列の作成
$var = New-Object "dataType[,]" row, col
2次元配列の参照・代入
# 2次元配列の作成
$var = New-Object "String[,]" row, col
# データの代入
$var[0,0] = "あ"
$ データの参照
Write-Host $var[0,0]
あ
もしくは、ジャグ配列を使用
$arr_row = @("太郎", "次郎", "三郎")
$arr_col = @("佐藤", "鈴木", "田中")
$arr = @($arr_row, $arr_col)
Write-Host ($arr[0])[1]
次郎
### 比較演算子
$a -eq $b 等しい
$a -ne $b 等しくない
$a -gt $b より大きい($a<$b)
$a -ge $b 以上 ($a<=$b)
$a -lt $b より小さい($a>$b)
$a -le $b 以下 ($a>=$b)
ワイルドカードによる比較
$a = "Hello World!"
$b = "Hello*"
$a -like $b
True
$a -notlike $b
False
正規表現に合致
$a = "Hello World!"
$b = "Hello"
$a -match $b
True
$a -notmatch $b
False
比較演算子の先頭にiを付けると大文字小文字を区別しない(デフォルト)
比較演算子の先頭にcを付けると大文字小文字を区別する
$a = "POWERSHELL"
$b = "powershell"
$a -ceq $b # 大文字小文字を区別する
False
$a -ieq $b # 大文字小文字を区別
True
$a -eq $b # デフォルトは大文字小文字を区別しない
True