こんにちは。
けいぞうです。
今回はPowerShellで取得したオブジェクトを標準出力する際に、
見た目(表示形式)をカスタマイズする方法について解説します。
[目次]
指定なしの場合
比較のために、何も指定しなかった場合の表示形式も示しておきます。
今回は、Get-ChildItemでオブジェクトを取得するコマンドを打った場合です。
PS C:\work\test> Get-ChildItem
ディレクトリ: C:\work\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/03/09 20:57 A
-a---- 2020/03/09 20:52 3 memo_abc.txt
-a---- 2020/03/09 20:52 3 memo_def.txt
フォルダが1つとファイルが2つ取得されて表示されています。
何も指定しない場合はこのように表示されますね。
- 既定の属性値のみ表示される
- 表形式のような形で表示される
Format-List
出力形式をリストビューにして表示する方法です。
PS C:\work\test> Get-ChildItem | Format-List
ディレクトリ: C:\work\test
Name : A
CreationTime : 2020/03/03 21:42:15
LastWriteTime : 2020/03/09 20:57:10
LastAccessTime : 2020/03/21 22:15:11
Mode : d-----
LinkType :
Target : {}
Name : memo_abc.txt
Length : 3
CreationTime : 2020/03/03 21:52:59
LastWriteTime : 2020/03/09 20:52:41
LastAccessTime : 2020/03/22 7:01:03
Mode : -a----
LinkType :
Target : {}
VersionInfo : File: C:\work\test\memo_abc.txt
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
Name : memo_def.txt
Length : 3
CreationTime : 2020/03/03 21:42:10
LastWriteTime : 2020/03/09 20:52:41
LastAccessTime : 2020/03/22 7:01:03
Mode : -a----
LinkType :
Target : {}
VersionInfo : File: C:\work\test\memo_def.txt
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
Fotmat-Listで取得すると、このように縦長なリストビューになります。
縦長なので、既定の属性値以外も表示してくれます。
Format-Listには「fl」というエイリアスが用意されているので、これで代用して記載することも可能です。
また、属性を指定して取得することも可能です。
以下、例文です。
PS C:\work\test> Get-ChildItem | fl Name,Length,Mode
Name : A
Mode : d-----
Name : memo_abc.txt
Length : 3
Mode : -a----
Name : memo_def.txt
Length : 3
Mode : -a----
- 縦長のリストビューで表示される
- 既定の属性値以外も表示される
- 「fl」というエイリアスが使える
- 表示する属性の指定も可能
Format-Table
出力形式をテーブル型式にしてい表示する方法です。
PS C:\work\test> Get-ChildItem | Format-Table
ディレクトリ: C:\work\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/03/09 20:57 A
-a---- 2020/03/09 20:52 3 memo_abc.txt
-a---- 2020/03/09 20:52 3 memo_def.txt
Formatを指定しなかった場合と同じ表示形式になっているのが分かると思います。
Format-Listと同様にエイリアスが用意されており「ft」で代用可能です。
また、属性を指定することも可能です。
以下、例文です。
PS C:\work\test> Get-ChildItem | ft Name,Length,Mode
Name Length Mode
---- ------ ----
A d-----
memo_abc.txt 3 -a----
memo_def.txt 3 -a----
- 表形式で表示される
- デフォルトの表示形式
- 「ft」というエイリアスが使える
- 表示する属性の指定も可能
Format-Wide
既定の属性がワイドは列幅で表示される方法です。
PS C:\work\test> Get-ChildItem | Format-Wide
ディレクトリ: C:\work\test
A memo_abc.txt
memo_def.txt
表示する属性を指定することで変更はできますが、1つしか指定することはできません。
こちらも「fw」というエイリアスが使用可能です。
また、表示する列数を指定することが可能です。
以下、例文です。
PS C:\work\test> Get-ChildItem | fw Mode -Column 1
d-----
-a----
-a----
Select-Object *
Formatではありませんが、Select-Objectに「*」を指定することで、リストビューで全属性を表示することができます。
PS C:\work\test> Get-ChildItem | Select-Object *
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test\A
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test
PSChildName : A
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : True
Mode : d-----
BaseName : A
Target : {}
LinkType :
Name : A
FullName : C:\work\test\A
Parent : test
Exists : True
Root : C:\
Extension :
CreationTime : 2020/03/03 21:42:15
CreationTimeUtc : 2020/03/03 12:42:15
LastAccessTime : 2020/03/21 22:15:11
LastAccessTimeUtc : 2020/03/21 13:15:11
LastWriteTime : 2020/03/09 20:57:10
LastWriteTimeUtc : 2020/03/09 11:57:10
Attributes : Directory
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test\memo_abc.txt
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test
PSChildName : memo_abc.txt
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
Mode : -a----
VersionInfo : File: C:\work\test\memo_abc.txt
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
BaseName : memo_abc
Target : {}
LinkType :
Name : memo_abc.txt
Length : 3
DirectoryName : C:\work\test
Directory : C:\work\test
IsReadOnly : False
Exists : True
FullName : C:\work\test\memo_abc.txt
Extension : .txt
CreationTime : 2020/03/03 21:52:59
CreationTimeUtc : 2020/03/03 12:52:59
LastAccessTime : 2020/03/22 7:01:03
LastAccessTimeUtc : 2020/03/21 22:01:03
LastWriteTime : 2020/03/09 20:52:41
LastWriteTimeUtc : 2020/03/09 11:52:41
Attributes : Archive
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test\memo_def.txt
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\work\test
PSChildName : memo_def.txt
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
Mode : -a----
VersionInfo : File: C:\work\test\memo_def.txt
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
BaseName : memo_def
Target : {}
LinkType :
Name : memo_def.txt
Length : 3
DirectoryName : C:\work\test
Directory : C:\work\test
IsReadOnly : False
Exists : True
FullName : C:\work\test\memo_def.txt
Extension : .txt
CreationTime : 2020/03/03 21:42:10
CreationTimeUtc : 2020/03/03 12:42:10
LastAccessTime : 2020/03/22 7:01:03
LastAccessTimeUtc : 2020/03/21 22:01:03
LastWriteTime : 2020/03/09 20:52:41
LastWriteTimeUtc : 2020/03/09 11:52:41
Attributes : Archive
単純にFormat-Listで表示した場合は全属性ではなかったことが分かりますね。
最近のコメント