LoginSignup
2
1

PowerShellでいろんな表示方法を試してみた。

Posted at

はじめに

lsの結果を横に1列に表示するにはどうしたらいいんだろうと思い、いろんな表示方法を調べましたので紹介します。

紹介コマンドのまとめ

機能 コマンド例
ファイルのフィルタリング ls -Path "D:\PS\" -Filter "*.txt"
ファイルのソート ls -Path "D:\PS\" | Sort Name
ファイルサイズの表示 (Get-Item -Path D:\PS\logs.csv).Length/1KB
サブフォルダのアイテム表示 Get-ChildItem -Path C:\ -Force -Recurse
リスト形式での詳細表示 ls -Path "D:\PS\" | Format-List
幅広い形式での表示 ls -Path "D:\PS\" | Format-Wide
特定のプロパティのみの選択 ls -Path "D:\PS\" | Select-Object Name, LastWriteTime
グループ化して表示 ls -Path "D:\PS\" | Group-Object Extension

コマンドの紹介

ファイルのフィルタリング

条件に基づいてファイルやディレクトリをフィルタリングできます。

ls -Filter "*.txt"

出力結果:

    Directory: D:\PS

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/12/2022   6:00 AM           1024 notes.txt
-a----        1/10/2022   4:00 PM           512  readme.txt

ファイルのソート

ファイルやディレクトリを特定の条件でソートします。

ls  | Sort Name

出力結果:

    Directory: D:\PS

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/10/2022   4:00 PM           512  config.xml
-a----        1/11/2022   5:00 PM           2048 logs.csv

ファイルサイズの表示

ファイルサイズを異なる単位で表示します。

# KBで表示
(Get-Item -Path D:\PS\logs.csv).Length/1KB

出力結果:

2.048

サブフォルダのアイテムを含むリスト

サブフォルダ内のアイテムも表示します。

ls -Force -Recurse

出力結果:

    Directory: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        1/12/2022   6:00 AM                Program Files
d-----        1/11/2022   5:00 PM                Users
...

Format-List(リスト形式での表示)

リスト形式での詳細な表示を行います。

ls -Path "D:\PS\" | Format-List

出力結果:

Name : config.xml
Length : 512
LastWriteTime : 1/10/2022 4:00 PM
...

Name : logs.csv
Length : 2048
LastWriteTime : 1/11/2022 5:00 PM
...

Format-Wide(幅広い形式での表示)

幅広い形式でコンパクトに表示します。
→これがやりたかった!

ls | Format-Wide

出力結果:

config.xml    logs.csv
notes.txt    readme.txt

何列で表示したいか指定

ls | Format-Wide -Column 4

出力結果:

config.xml    logs.csv    notes.txt    readme.txt

Select-Object(特定のプロパティのみを選択)

特定のプロパティのみを表示します。

ls -Path "D:\PS\" | Select-Object Name, LastWriteTime

出力結果:

Name       LastWriteTime
----       -------------
config.xml 1/10/2022 4:00 PM


logs.csv   1/11/2022 5:00 PM

Group-Object(グループ化して表示)

特定のプロパティに基づいてグループ化します。
拡張ごとに表示できるので便利!

ls  | Group-Object Extension

出力結果:

Count Name    Group
----- ----    -----
2     .txt    {notes.txt, readme.txt}
1     .xml    {config.xml}
1     .csv    {logs.csv}

まとめ

このようにPowerShellのlsコマンドを用いることで、ファイルやディレクトリの情報を多角的に把握し、効率的なファイル管理を行うことが可能になります!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1