今回は、PowerShellのGet-ChildItemでフォルダ/ファイルの一覧を取得する方法について説明します。
知りたい情報をチェック
Get-ChildItemはcmdでいうlsコマンド

まず、よくある疑問から。PowerShellにおけるGet-ChildItemは、cmd(コマンドプロンプト)におけるlsコマンドに同じです。
lsコマンドでは、「ls ディレクトリ名」でディレクトリ内にあるファイルの一覧を、「ls」で実行した場合はカレントディレクトリ内にあるファイルの一覧が表示されます。また、様々なオプションを付けることで、柔軟にファイル情報を取得することが可能です。
【参考】
https://eng-entrance.com/linux_command_ls
Get-ChildItemの基本的な使い方

Get-ChildItemコマンドを実行。すると、カレントディレクトリ以下のフォルダ/ファイルが出力される。(モードと最終編集日も表示される)
PS D:> Get-ChildItem
ディレクトリ: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/11/07 23:23 AAA
d----- 2020/11/07 23:24 BBB
d----- 2020/11/07 23:24 CCC
Get-ChildItem応用的な使い方(オプション)

サブディレクトリ配下のフォルダ/ファイル情報まで取得する
-Recurseオプションを使用することで、サブディレクトリ配下のフォルダ/ファイル情報まで取得することが可能です。
PS D:\> Get-ChildItem -Recurse
ディレクトリ: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/11/07 23:23 AAA
d----- 2020/11/07 23:24 BBB
d----- 2020/11/07 23:24 CCC
ディレクトリ: D:\AAA
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020/11/07 23:22 0 あああ.txt
-a---- 2020/11/07 23:22 0 かかか.txt
-a---- 2020/11/07 23:22 0 さささ.txt
ディレクトリ: D:\BBB
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020/11/07 23:22 0 いいい.txt
-a---- 2020/11/07 23:22 0 ききき.txt
-a---- 2020/11/07 23:22 0 ししし.txt
ディレクトリ: D:\CCC
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020/11/07 23:24 0 ううう.txt
-a---- 2020/11/07 23:24 0 くくく.txt
-a---- 2020/11/07 23:24 0 すすす.txt
実行結果を任意のファイルに出力する
Get-ChildItem > ファイル名 とすることで、任意のファイルに実行結果を出力することが可能です。*cmd上に実行結果は出力されないので注意
PS D:\> Get-ChildItem > hoge.txt
PS D:\>
以下、実行結果を出力したテキストファイルが生成された。

フォルダ/ファイル名のみを取得する

-Nameオプションを使用することで、フォルダ/ファイル名のみを取得することが可能です。
PS D:\> Get-ChildItem -Name
AAA
BBB
CCC
hoge.txt
【まとめ】Get-ChildItemコマンド

今回はPowerShellのGet-ChildItemコマンドについて説明しました。ここでは紹介しきれなかったオプションも多くあったので、用途に応じて公式のドキュメントを参照することをおすすめします。
【参考】
Microsoft Get-ChildrenItem
以上。
SAPコンサルタントとして長年にわたり複数のPJに携わってきたプロによる一冊。
本書では宅配ピザ屋を例に、会社の業務とそれに紐づく各SAPモジュールの説明が丁寧にされており、この一冊で体系的に業務とSAPの基礎知識を身に付けることが可能です。
これからSAPの業務に携わる人や、改めてSAPの全体観を把握したい人など、初心者~中級者まで自信を持っておすすめします。
コメントを残す