
新しい言語を覚えるときに、意外と手こずるのが変数の使い方だったりします。当然、powerShellでも苦戦しました(というか、現在進行形で理解しきれていない)。
PowerShellの変数は、頭に$を付けて記述します。さらに先頭に[型]を指定することで、型を指定した変数を使用できます。
実際には、こんな感じでしょうか?
問題は型なんですよね。どれだけ種類があって、いつ、なにを、どう使えばよいのか迷います。
javaとかでクラスを使うならともかく、文字型、数値型、ブール型、あとはせいぜい日付型あたりがあれば、大抵のことは出来ると思うんですけどね。
次に、変数の型を確認する方法です。変数の型を確認するには、GetTypeコマンドレットを使用します。
実際には、powerShell内で使ったことはなくて、デバッグの時に変数の型を調べる時に使ってます。
んで、次は配列です。変数の宣言は “型[] $変数名” で配列に設定する値は@()内にカンマ区切りで値を作ってやります。
関数とかの戻値に対しても使えます。下記は、Test-Connectionの実行結果を配列として取得しています。
なんかもう、へたなプログラミング言語よりいろいろ出来てますよね。出来ることが多いのは良いことだと思いますけど、やり過ぎのような気もするんですよね。
よくよく見ると、変数の型とか宣言とかが書いていなかったので、改めて記事を作成しました。
型については、こちらをどうぞ(PowerShellの良く使う型と宣言方法)
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク
PowerShellの変数は、頭に$を付けて記述します。さらに先頭に[型]を指定することで、型を指定した変数を使用できます。
実際には、こんな感じでしょうか?
$test = 'aa'
[System.String]$OpeDate = Get-Date -format yyyyMMdd_HHmmss
[System.String]$LogName = 'D:¥log¥' + $OpeDate + '.log'
[boolean]$LogDateTrue = 1
[boolean]$LogDateFalse = 0
問題は型なんですよね。どれだけ種類があって、いつ、なにを、どう使えばよいのか迷います。
javaとかでクラスを使うならともかく、文字型、数値型、ブール型、あとはせいぜい日付型あたりがあれば、大抵のことは出来ると思うんですけどね。
次に、変数の型を確認する方法です。変数の型を確認するには、GetTypeコマンドレットを使用します。
PS C:\> $aaa.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
PS C:\> $aaa.GetType().Name
String
PS C:\> $aaa.GetType().FullName
System.String
実際には、powerShell内で使ったことはなくて、デバッグの時に変数の型を調べる時に使ってます。
んで、次は配列です。変数の宣言は “型[] $変数名” で配列に設定する値は@()内にカンマ区切りで値を作ってやります。
# 1次元配列
[string[]]$addressList = @("10.101.120.10", "10.101.106.173")
# 2次元配列
[string[][]]$addressList = @(@("10.101.120.10", "APサーバ1番機" ), @("10.101.106.173", "バックアップサーバ" ) )
関数とかの戻値に対しても使えます。下記は、Test-Connectionの実行結果を配列として取得しています。
[String[]]$addressAp = @('10.101.120.30','10.101.120.10')
$pingAlive = @(Test-Connection -ComputerName $addressAp -Quiet)
なんかもう、へたなプログラミング言語よりいろいろ出来てますよね。出来ることが多いのは良いことだと思いますけど、やり過ぎのような気もするんですよね。
■ 2015.2.10追記
よくよく見ると、変数の型とか宣言とかが書いていなかったので、改めて記事を作成しました。
型については、こちらをどうぞ(PowerShellの良く使う型と宣言方法)
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


