この連載では、PowerShellについて学んでいきます。前回の記事はこちらになります。
前回は、今まで取り上げられなかったコマンドレットをご紹介しました。
今回は変数です。PowerShellは、任意の種類のオブジェクトを変数に格納できます。
PowerShellの変数
PowerShellの変数は「$」(ドル記号)で始まるテキスト文字列で表されます。変数名では大文字と小文字は区別されません。スペースや特殊文字を含めることができますが「_」以外の特殊文字は使用しないことが推奨されています。PowerShellの変数には、以下の種類があります。
ユーザー作成変数
PowerShellでは、ユーザーが変数を作成、管理できます。 これがユーザー作成変数です。PowerShellのコマンドラインで作成される変数は、PowerShellウィンドウが開いている間のみ有効です。 PowerShellウィンドウが閉じられると、変数が削除されます。自動変数
自動変数はPowerShellの状態を保存します。 自動変数はPowerShellによって作成され、必要に応じて値を変更します。 自動変数はユーザーによる変更はできません。 最初にPowerShellのバージョンを確認した「$PSVersionTable」は、自動変数になります。ユーザー設定変数
PowerShellのユーザー設定は、ユーザー設定変数に格納されます。 ユーザー設定変数はPowerShellによって作成され、既定値が設定されます。 ユーザー設定変数はユーザーによる変更が可能です。
PowerShell内で設定されている変数の一覧は、コマンドレット「Get-Variable」を使用します。先頭の「$」を省略した形で表示されます。
PS フォルダーパス> Get-Variable Name Value ---- ----- __LastHistoryId 9 __psEditorServices_userInput __VSCodeOriginalPrompt … __VSCodeOriginalPSConsoleHost… $global:__psEditorServices_userInput ? True ^ $? ...(以下略)
変数操作の基本
変数(ユーザー作成変数)を作成するには、「=」を使用して値を代入します。また、コマンドレットの結果も格納できます。変数の値を変更するには、変数に新しい値を代入します。
PS フォルダーパス> $a = 1 PS フォルダーパス> $a 1 PS フォルダーパス> $a = Get-Command PS フォルダーパス> $a CommandType Name Version Source ----------- ---- ------- ------ Alias Add-AppPackage 2.0.1.0 Appx Alias Add-AppPackageVolume 2.0.1.0 Appx Alias Add-AppProvisionedPackage 3.0 Dism ...(以下略)
変数の値をクリアするには「$null」を代入します。
PS フォルダーパス> $a = 1 PS フォルダーパス> $a = $null PS フォルダーパス> $a PS フォルダーパス>
コマンドレット「Clear-Variable」でもクリア可能です。
PS フォルダーパス> $a = 1 PS フォルダーパス> Clear-Variable a PS フォルダーパス> $a PS フォルダーパス>
変数を指定する際に先頭の「$」は記述しません。気を付けましょう。
変数を削除するには、コマンドレット「Remove-Variable」を使用します。
PS フォルダーパス> $a = 1 PS フォルダーパス> Get-Variable -N a Name Value ---- ----- a 1 PS フォルダーパス> Remove-Variable -N a PS フォルダーパス> Get-Variable -N a Get-Variable: Cannot find a variable with the name 'a'. # エラーになる
色々な値設定
複数の変数に同時に同じ値を代入できます。
PS フォルダーパス> $a = $b = $c = 2 PS フォルダーパス> $a , $b , $c 2 2 2
カンマで区切ることで、複数の変数を同時に確認できます。 複数の変数に、同時に異なる値を代入するともできます。
PS フォルダーパス> $a , $b , $c = 1 , 2 , 3 PS フォルダーパス> $a , $b , $c 1 2 3
次回も変数
いかがでしょうか。変数をうまく使うことがPowerShellを使いこなすコツかも知れません。次回も変数です。変数にも色々な種類があります。お楽しみに!!