1 つ以上の指定された場所から項目および子項目を取得します。

構文

Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Name] [-Recurse] [-UseTransaction] [<CommonParameters>]

Get-ChildItem [-LiteralPath] <string[]> [[-Filter] <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Name] [-Recurse] [-UseTransaction] [<CommonParameters>]

説明

Get-ChildItem コマンドレットは、1 つまたは複数の指定された場所から項目を取得します。項目がコンテナーの場合は、コンテナーの中にある項目 (子項目) を取得します。Recurse パラメーターを使用して、すべての子コンテナー内の項目を取得できます。

場所として指定できるのは、ディレクトリなどのファイル システムの場所や、レジストリ ハイブや証明書ストアなど、他のプロバイダーによって公開されている場所です。

パラメーター

-Exclude <string[]>

指定した項目を除外します。このパラメーターの値は、Path パラメーターを修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Filter <string>

プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windows PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取得する際にプロバイダーがフィルターを適用するためです。

必須

false

位置

2

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Force

隠しファイルやシステム ファイルなど、設定しないとユーザーがアクセスできない項目をコマンドレットで取得できるようにします。実装はプロバイダーごとに異なります。詳細については、「about_Providers」を参照してください。Force パラメーターを使用しても、コマンドレットはセキュリティ制限を上書きできません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Include <string[]>

指定した項目だけを取得します。このパラメーターの値は、Path パラメーターを修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカードを使用できます。

Include パラメーターは、コマンドに Recurse パラメーターが含まれている場合か、C:\Windows\* など、パスがディレクトリの内容を表している場合のみ有効です。この場合、ワイルドカード文字は C:\Windows ディレクトリの内容を表します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-LiteralPath <string[]>

場所のパスを 1 つ以上指定します。Path と異なり、LiteralPath の値は入力したとおりに使用されます。ワイルドカードとして解釈される文字はありません。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Name

指定した場所にある項目の名前だけを取得します。このコマンドの出力を別のコマンドにパイプライン経由で渡すと、項目名だけが送られます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Path <string[]>

場所のパスを 1 つ以上指定します。ワイルドカードを使用できます。既定の場所は現在のディレクトリ (.) です。

必須

false

位置

1

既定値

パイプライン入力を許可する

true (ByValue, ByPropertyName)

ワイルドカード文字を許可する

false

-Recurse

指定された場所にある項目と、その場所のすべての子項目を取得します。

recurse は、パスが C:\Windows や C:\Windows\* のように子項目を持つコンテナーを指している場合のみ有効であり、C:\Windows\*.exe のように子項目を持たない項目を指している場合は無効です。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-UseTransaction

コマンドを有効なトランザクションに含めます。このパラメーターは、トランザクションの進行中のみ有効です。詳細については、「about_Transactions」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.String

パイプを使用してパスを含む文字列を Get-ChildItem に渡すことができます。

出力

オブジェクト。

Get-ChildItem が返すオブジェクトの型は、使用するプロバイダーによって決まります。

Get-ChildItem を組み込みエイリアス "ls"、"dir"、および "gci" で参照することもできます。詳細については、「about_Aliases」を参照してください。

Get-ChildItem は、既定では隠し項目を取得しません。隠し項目を取得するには、-Force を使用します。

Get-ChildItem コマンドレットは、プロバイダーによって公開されているデータを使用するように設計されています。セッションで使用可能なプロバイダーの一覧を表示するには、「Get-PsProvider」と入力します。詳細については、「about_Providers」を参照してください。

例 1

C:\PS>get-childitem

説明
-----------
このコマンドを実行すると、現在の場所にある子項目が取得されます。場所がファイル システム ディレクトリの場合、現在のディレクトリ内にあるファイルとサブディレクトリが取得されます。項目に子項目がない場合は、何も表示せずにコマンド プロンプトに戻ります。

既定では、ファイルのモード (属性)、最終書き込み時刻、ファイル サイズ (長さ)、名前が表示されます。有効なモードの値は、d (ディレクトリ)、a (アーカイブ)、r (読み取り専用)、h (隠しファイル)、および s (システム ファイル) です。






例 2

C:\PS>get-childitem . -include *.txt -recurse -force

説明
-----------
このコマンドを実行すると、現在のディレクトリとそのサブディレクトリ内にある .txt ファイルがすべて取得されます。ドット (.) は現在のディレクトリを表し、Include パラメーターはファイル名の拡張子を指定します。Recurse パラメーターは、Windows PowerShell に対して、再帰的にオブジェクトを取得することを指示し、コマンドの目的が指定されたディレクトリとその内容であることを示します。Force パラメーターにより隠しファイルが表示に追加されます。






例 3

C:\PS>get-childitem c:\windows\logs\* -include *.txt -exclude A*

説明
-----------
このコマンドを実行すると、Logs サブディレクトリ内にある .txt ファイルの一覧が表示されます。ただし、名前が A で始まるものを除きます。ワイルドカード文字 (*) を使用することで、ディレクトリ コンテナーではなく、Logs サブディレクトリの内容を対象とすることを指示しています。コマンドに Recurse パラメーターが含まれていないので、Get-ChildItem ではディレクトリの内容は自動的に追加されません。追加する場合は、Recurse パラメーターを指定します。






例 4

C:\PS>get-childitem registry::hklm\software

説明
-----------
このコマンドは、ローカル コンピューターのレジストリの HKEY_LOCAL_MACHINE\SOFTWARE キー内にあるレジストリ キーをすべて取得します。






例 5

C:\PS>get-childitem -name

説明
-----------
このコマンドは、現在のディレクトリにある項目の名前だけを取得します。






例 6

C:\PS>get-childitem cert:\. -recurse -codesigningcert

説明
-----------
このコマンドを実行すると、証明書ストアにある、コードの署名を証明する機関がある証明書がすべて取得されます。

このコマンドは Get-ChildItem コマンドレットを使用します。パスは、Windows PowerShell の証明書プロバイダーによって公開されている Cert: ドライブを指定しています。バックスラッシュ (\) は証明書ストアのサブディレクトリを示し、ドット (.) は現在のディレクトリ (証明書ストアのルート ディレクトリ) を表します。Recurse パラメーターは再帰的な検索を指示します。

CodeSigningCertificate パラメーターは動的パラメーターで、コード署名認証機関の証明書だけを取得します。詳細については、「get-help certificate」と入力してください。






例 7

C:\PS>get-childitem * -include *.exe

説明
-----------
このコマンドは、現在のディレクトリに配置されており、ファイル名の拡張子が .exe であるすべての項目を取得します。ワイルドカード文字 (*) は、現在のディレクトリの内容 (コンテナーではない) を表します。Recurse パラメーターを使用せずに Include パラメーターを使用する場合は、パスがコンテナーではなく内容を指している必要があります。






関連項目




目次