今朝久しぶりにPowerShellのコードを書こうとしたらいろいろ忘れてたので備忘録
型を調べる
$flen_values.GetType()
たとえばこんなコードであれば
$file = "sample.jpg" [void][Reflection.Assembly]::LoadWithPartialName("System.Drawing") $image_exif = New-Object System.Drawing.Bitmap($file) $flen_values = ($image_exif.PropertyItems | Where-Object { $_.Id -eq 41989 }).Value $flen_values.GetType()
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Byte[] System.Array
こうなって、Byteの配列だとわかる。
プロパティやメソッドを調べる
Byte[]ならリファレンスとか見ればわかるだろうけど、自作(多作)のオブジェクトとかだと・・・みたいなとき
$flen_values | Get-Member
Get-Member
にパイプする。
すると、そのオブジェクトが持っているメソッドやプロパティの一覧がわかる。
TypeName : System.Byte Name : CompareTo MemberType : Method Definition : int CompareTo(System.Object value), int CompareTo(byte value), int IComparable.CompareTo(Syst em.Object obj), int IComparable[byte].CompareTo(byte other) TypeName : System.Byte Name : Equals MemberType : Method Definition : bool Equals(System.Object obj), bool Equals(byte obj), bool IEquatable[byte].Equals(byte othe r) : :
Get-Member
はgm
という名前でもエイリアス登録されているので、
$flen_values | gm
も等価