この記事では、Get-ChildItem を使用して任意のディレクトリから子アイテム(ファイルやディレクトリ)の一覧を取得する方法について説明します。
公式サイト情報はコチラを参照してください。
任意のディレクトリから子アイテム(ファイルやディレクトリ)の一覧を取得する
任意のディレクトリの子アイテム一覧を取得するには、Path パラメータ か LiteralPath パラメータを使用します。
Path パラメータはワイルドカード指定ができるのに対して、LiteralPath パラメータは入力された文字がそのまま解釈されるという違いがあります。
Path パラメータによる一覧取得
任意のディレクトリのファイル一覧を取得する
任意のディレクトリのファイル一覧を取得するには、以下の書式を使用します。
Get-ChildItem -Path ディレクトリパス
例えば C:¥Work のファイル一覧を取得したい場合は、以下のようにします。
ワイルドカードによるアイテムの取得
test01.txt 〜 test09.txt のように連番のファイルがあるとき、以下のようにワイルドカードを指定してファイルの一覧を取得することができます。
LiteralPath パラメータによる一覧取得
任意のディレクトリのファイル一覧を取得するには、以下の書式を使用します。
Get-ChildItem -LiteralPath ディレクトリパス
例えば C:¥Work のファイル一覧を取得したい場合は、以下のようにします。
Path パラメータと LiteralPath パラメータの違いについて
ここでは、Path パラメータと LiteralPath パラメータの違いについて説明します。
ァイル名やディレクトリ名には [] を使用することができますので、test[01].txt というファイルを作成することができます。
このファイルを以下のようなコマンドで取得しようとしても、ヒットしません。
get-ChildItem -Path C:¥Work¥test[01].txt
Path パラメータを使用すると [] もワイルドカードの一部と見なされるのが原因です(正確には正規表現として取り扱われる)。
このように、ワイルドカードの効果が発揮されては困る場合は LiteralPath パラメータを使用し、入力された文字がワイルドカードであってもそのままの文字として解釈されます。
get-ChildItem -LiteralPath C:¥Work¥test[01].txt
コメント