はじめに
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
コマンドを用いることで、ファイルやディレクトリの情報を多角的に把握し、効率的なファイル管理を行うことが可能になります!