この記事は以前 http://hiros-dot.net/ へ書いたものです。。
今回は、パイプ演算子と共に使用する Select-Objectコマンドレットを紹介します。
Select-Objectコマンドレットはオブジェクトまたは一連のオブジェクトの指定されたプロパティを選択します。
Get-ChildItemコマンドレットが持つプロパティの指定したものだけを抜き出してみましょう。
その前に Get-ChildItemコマンドレットで取得可能なプロパティを調査してみます。
Get-Memberコマンドレットで-MmemberTypeパラメータにpropertyと指定することでプロパティのみを表示します。
PS C:\Work> Get-ChildItem | Get-Member -MemberType property TypeName: System.IO.FileInfo Name MemberType Definition ---- ---------- ---------- Attributes Property System.IO.FileAttributes Attributes {get;set;} CreationTime Property System.DateTime CreationTime {get;set;} CreationTimeUtc Property System.DateTime CreationTimeUtc {get;set;} Directory Property System.IO.DirectoryInfo Directory {get;} DirectoryName Property System.String DirectoryName {get;} Exists Property System.Boolean Exists {get;} Extension Property System.String Extension {get;} FullName Property System.String FullName {get;} IsReadOnly Property System.Boolean IsReadOnly {get;set;} LastAccessTime Property System.DateTime LastAccessTime {get;set;} LastAccessTimeUtc Property System.DateTime LastAccessTimeUtc {get;set;} LastWriteTime Property System.DateTime LastWriteTime {get;set;} LastWriteTimeUtc Property System.DateTime LastWriteTimeUtc {get;set;} Length Property System.Int64 Length {get;} Name Property System.String Name {get;}
多くのプロパティを持っていることがわかります。
では、Get-ChildItemで取得できる結果からFullNameとLastWriteTimeの列のみを抜き出してみましょう。
特定のプロパティを抽出するにはSelect-Objectコマンドレットを使用します。
抽出したい項目をSelect-Objectの隣にカンマで区切って記述します。
PS C:\Work> Get-ChildItem | Select-Object FullName, LastWriteTime FullName LastWriteTime -------- ------------- C:\Work\Debug.ps1 2008/07/11 23:19:01 C:\Work\err.txt 2008/07/17 22:41:56 C:\Work\Scope1.ps1 2008/07/16 22:02:24 C:\Work\Scope2.ps1 2008/07/16 22:09:31 C:\Work\Scope3.ps1 2008/07/16 22:26:39 C:\Work\Scope4.ps1 2008/07/16 22:28:11 C:\Work\Scope5.ps1 2008/07/16 22:30:27 C:\Work\Strict.ps1 2008/07/17 22:28:24 C:\Work\Test.xml 2008/07/08 23:38:56 C:\Work\trap.ps1 2008/07/08 23:11:15 C:\Work\trap1.ps1 2008/07/08 23:16:29
どうでしょうか? Select-Objectコマンドレットを使用すると、必要なプロパティのみを抽出することができますね。
次回はWhere-Objectコマンドレットについて説明したいと思います。
コメント
行动是治愈恐惧的良药,而犹豫拖延将不断滋养恐惧。