1 つまたは複数の指定された場所にある項目と子項目を取得します。
- Syntax
- Description
- 例
- Example 1: Get child items from a file system directory
- 例 2: ディレクトリ内の子項目名を取得する
- Example 3: Get child items in the current directory and subdirectories
- Example 4: Get child items using the Include parameter
- 例5: Excludeパラメーターを使用した子項目の取得
- Example 6: Get the registry keys from a registry hive
- Example 7: Get all certificates with code-signing authority
- 例 8: Depth パラメータを使用して項目を取得する
- 例9: ハードリンク情報の取得
- Parameters
- Inputs
- Outputs
- Notes
Syntax
Get-ChildItem <string>] <string>] >] >] >]
Get-ChildItem <string>] -LiteralPath <string> >] >] >]
Description
Get-ChildItem
コマンドレットは、1 つまたは複数の指定された場所にある項目を取得します。 アイテムがコンテナの場合、コンテナ内のアイテムを取得し、子アイテムとして知られています。 Recurse パラメータを使用してすべての子コンテナのアイテムを取得し、Depth パラメータを使用して再帰するレベルの数を制限することができます。
Get-ChildItem
は空のディレクトリを表示しません。 Get-ChildItem
コマンドに Depth または Recurse パラメーターが含まれている場合、空のディレクトリは出力に含まれません。
Locations は PowerShell プロバイダーによって Get-ChildItem
に公開されます。 場所は、ファイル システムのディレクトリ、レジストリ ハイブ、または証明書ストアにすることができます。
例
Example 1: Get child items from a file system directory
この例では、ファイル システム ディレクトリから子項目を取得します。 ファイル名とサブディレクトリ名が表示されます。
Get-ChildItem
コマンドレットは、Pathパラメーターを使用してディレクトリC:\Test
を指定します。Get-ChildItem
は、PowerShellコンソールにファイルおよびディレクトリを表示します。 Modeプロパティの文字は次のように解釈できます:
-
l
(リンク) -
d
(ディレクトリ) -
a
(アーカイブ) -
r
(読み取り専用) -
h
(隠し) -
s
(システム).Modeプロパティの文字は、(リンク) -
l
(リンク) -
d
(アーカイブ(Archive)
モードフラグの詳細については、about_Filesystem_Providerを参照してください。
例 2: ディレクトリ内の子項目名を取得する
この例は、ディレクトリ内の項目名のみをリストします。
Get-ChildItem
コマンドレットは Path パラメータでディレクトリ C:\Test
を指定します。
Get-ChildItem -Path C:\Test -NameLogsanotherfile.txtCommand.txtCreateTestFile.ps1ReadOnlyFile.txt
Example 3: Get child items in the current directory and subdirectories
This example displays .txt files that are located in the current directory and itssubdirectories.
Get-ChildItem -Path C:\Test\*.txt -Recurse -ForceDirectory: C:\Test\Logs\AdirectoryMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 Afile4.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-a---- 2/13/2019 13:26 20 LogFile4.txt Directory: C:\Test\Logs\BackupMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 ATextFile.txt-a---- 2/12/2019 15:50 20 LogFile3.txt Directory: C:\Test\LogsMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 Afile.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-a---- 2/13/2019 13:26 20 LogFile1.txt Directory: C:\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/13/2019 08:55 26 anotherfile.txt-a---- 2/12/2019 15:40 118014 Command.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt
The Get-ChildItem
cmdlet uses the Path parameter to specify C:\Test\*.txt
.The 6243cmdlet uses the Path parameter to specify
The cmdlet gets child items in the current directory and subirectories.Get child items in the current directory and subirectories. Path は、アスタリスク (*
) ワイルドカードを使用して、ファイル名拡張子が .txt
のすべてのファイルを指定します。 Recurseparameter は、Directory:見出しに示されるように、Path ディレクトリとそのサブディレクトリを検索します。 Forceパラメータは、モードがhであるhiddenfile.txt
などの隠しファイルを表示します。
Example 4: Get child items using the Include parameter
In this example Get-ChildItem
uses the Include parameter to find specific items from thedirectory specified by the Path parameter.
# When using the -Include parameter, if you don't include an asterisk in the path# the command returns no output.Get-ChildItem -Path C:\Test\ -Include *.txtGet-ChildItem -Path C:\Test\* -Include *.txtDirectory: C:\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/13/2019 08:55 26 anotherfile.txt-a---- 2/12/2019 15:40 118014 Command.txt-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt
The Get-ChildItem
cmdlet uses the Path parameter to specify the directory C:\Test.This exampleは、コマンドレットがPathパラメータを使用してディレクトリを指定する例を示しています。 Includeパラメータは、アスタリスク (*
) ワイルドカードを使用して、ファイル名拡張子 .txt を持つすべてのファイルを指定します。
Includeパラメータを使用する場合、Pathパラメータはディレクトリのコンテンツを指定するために末尾アスタリスク (*
) ワイルドカードを必要とします。 例:-Path C:\Test\*
.
- Recurseパラメータがコマンドに追加された場合、Pathパラメータの末尾のアスタリスク(
*
)は省略可能です。 Recurse パラメータは、Path ディレクトリとそのサブディレクトリから項目を取得します。 たとえば、-Path C:\Test\ -Recurse -Include *.txt
- 末尾のアスタリスク (
*
) が Path パラメータに含まれていない場合、コマンドは出力を返さず、PowerShell プロンプトに戻ります。 たとえば、-Path C:\Test\
.
例5: Excludeパラメーターを使用した子項目の取得
この例の出力では、ディレクトリ C:\TestLogs のコンテンツが表示されます。 Excludeパラメーターは、アスタリスク (*
) ワイルドカードを使用して、Aまたはaで始まるすべてのファイルまたはディレクトリを出力から除外するように指定します。 例えば,-Path C:\Test\Logs
または-Path C:\Test\Logs\*
です.
- 末尾のアスタリスク(
*
)がPathパラメータに含まれていない場合,Pathパラメータの内容が表示されます. 例外はExcludeパラメータの値に一致するファイル名またはサブディレクトリ名です。 - Path パラメータに最後のアスタリスク (
*
) が含まれている場合、Pathパラメータのサブディレクトリを再帰的に検索します。 例外は、Excludeパラメータの値に一致するファイル名またはサブディレクトリ名です。 - Recurseパラメータがコマンドに追加された場合、Pathパラメータに最後のアスタリスク(
*
)が含まれているかどうかにかかわらず、再帰出力は同一になります。
Example 6: Get the registry keys from a registry hive
This example gets all the registry keys from HKEY_LOCAL_MACHINE\HARDWARE
.
Get-ChildItem
uses the Path parameter to specify the registry key HKLM:\HARDWARE
. Thehive のパスとレジストリ キーのトップ レベルが PowerShell コンソールに表示されます。
詳細については、about_Registry_Provider.
Get-ChildItem -Path HKLM:\HARDWAREHive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIDESCRIPTIONDEVICEMAPRESOURCEMAPUEFIGet-ChildItem -Path HKLM:\HARDWARE -Exclude D*Hive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIRESOURCEMAP
最初のコマンドは、HKLM:\HARDWARE
レジストリ キーの内容を表示します。 Exclude パラメータは D*
で始まるサブキーを返さないように Get-ChildItem
に指示します。
この例では、PowerShell Cert: ドライブ内のコード署名権限を持つ各証明書を取得します。
Get-ChildItem
コマンドレットは Path パラメーターで Cert: プロバイダを指定します。 Recurse パラメータは、Path で指定されたディレクトリとそのサブディレクトリを検索します。
Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert
証明書プロバイダおよびCert: ドライブの詳細については、about_Certificate_Providerを参照してください。
例 8: Depth パラメータを使用して項目を取得する
この例は、ディレクトリとそのサブディレクトリにある項目を表示します。 Depth パラメータは、再帰に含めるサブディレクトリのレベルを決定します。
Get-ChildItem -Path C:\Parent -Depth 2Directory: C:\ParentMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:24 SubDir_Level1-a---- 2/13/2019 08:55 26 file.txt Directory: C:\Parent\SubDir_Level1Mode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:24 SubDir_Level2-a---- 2/13/2019 08:55 26 file.txt Directory: C:\Parent\SubDir_Level1\SubDir_Level2Mode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:22 SubDir_Level3-a---- 2/13/2019 08:55 26 file.txt
Get-ChildItem
コマンドレットは、Pathパラメータを使用して、C:the \Parentを指定します。 Depth パラメーターは、2 つのレベルの再帰を指定します。 Get-ChildItem
は、Pathパラメーターで指定されたディレクトリと2レベルのサブディレクトリの内容を表示します。
例9: ハードリンク情報の取得
PowerShell 6.2 では、ハードリンク情報を取得するための代替ビューが追加されました。1 の Unix システムでは、Get-ChildItem
は Unix ライクな出力を提供します:
PS> Get-ChildItem /etc/r*Directory: /etcUnixMode User Group LastWriteTime Size Name-------- ---- ----- ------------- ---- ----drwxr-xr-x root wheel 9/30/2019 19:19 128 racoon-rw-r--r-- root wheel 9/26/2019 18:20 1560 rc.common-rw-r--r-- root wheel 7/31/2017 17:30 1560 rc.common~previous-rw-r--r-- root wheel 9/27/2019 20:34 5264 rc.netbootlrwxr-xr-x root wheel 11/8/2019 15:35 22 resolv.conf -> /private/var/run/resolv.conf-rw-r--r-- root wheel 10/23/2019 17:41 0 rmtab-rw-r--r-- root wheel 10/23/2019 17:41 1735 rpc-rw-r--r-- root wheel 7/25/2017 18:37 1735 rpc~previous-rw-r--r-- root wheel 10/23/2019 18:42 891 rtadvd.conf-rw-r--r-- root wheel 8/24/2017 21:54 891 rtadvd.conf~previous
現在出力の一部となっている新しいプロパティは、次のとおりです。
- UnixMode は Unix システム上で表されるファイルのパーミッション
- User はファイルのオーナー
- Group はグループのオーナー
- Size は Unix システム上で表されるファイルまたはディレクトリのサイズ
Note
この機能は PowerShell 7 では experimental から mainstream へ移行されました。1.
Parameters
指定した属性を持つファイルおよびフォルダーを取得する。 このパラメータはすべての属性をサポートし、属性の複雑な組み合わせを指定できます。
たとえば、暗号化または圧縮された非システム ファイル (ディレクトリではない) を取得するには、次のように入力します:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
よく使用される属性を持つファイルおよびフォルダを検索するには、属性パラメータを使用します。 または、Directory、File、Hidden、ReadOnly、および System の各パラメーターを使用します。
Attributes パラメーターは次のプロパティをサポートしています。
- Archive
- Compressed
- Device
- Directory
- Encrypted
- Hidden
- IntegrityStream
- Normal
- NoScrubData
- NotContentIndexed
- Offline
- ReadOnly
- ReparsePoint
- SparseFile
- System
- Temporary
これらの属性についての説明は、以下のとおりです。 は、FileAttributes Enumeration を参照してください。
属性を組み合わせるには、次の演算子を使用します:
-
!
(NOT) -
+
(AND) -
,
(OR)
演算子とその属性間にスペースを使用しないでください。 カンマの後にスペースがあってもかまいません。
共通の属性には、以下の略語を使用します。
-
D
(Directory) -
H
(Hidden) -
R
(Read-only) -
S
(System)
Type.TYPE.TYPE TYPE.FILE.TYPE.TYPE.TYPE:TYPE.TYPE。 | FlagsExpression<T> |
受け入れられる値です。 | Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary | Position: | Named |
Default Value.Decoded.Definition:Name(デフォルト値)。 | None |
Accept pipeline input: | False |
Accept wildcard characters.Noneは、パイプライン入力を受け付けないようにするためのものです。 | False |
PowerShell 5 でこのパラメーターが追加されました。0 で追加され、再帰の深さを制御できるようになりました。 デフォルトでは、Get-ChildItem
は親ディレクトリの内容を表示します。 Depth パラメーターは、再帰に含まれるサブディレクトリ レベルの数を決定し、内容を表示します。
たとえば、Depth 2
には Path パラメーターのディレクトリ、サブディレクトリの 1 レベル、およびサブディレクトリの 2 レベルが含まれます。
注意
WindowsコンピュータでPowerShellまたはcmd.exeから、tree.comコマンドでディレクトリ構造のグラフィックビューを表示することができます。
Type: | UInt32 |
Position: | Named |
初期値: | None | パイプライン入力に対応します。 | False |
Accept wildcard characters: | False |
ディレクトリのリストを取得するには、ディレクトリ プロパティを指定して Directory または Attributes パラメータを使用します。 Directoryと一緒にRecurseパラメータを使用することができます。
Type: | SwitchParameter |
Aliases: | ad, d |
Position.Position.Patch | |
SwitchParameter | Position.Patch | Named |
デフォルト値: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
このコマンドレットが操作から除外するプロパティまたはプロパティを、文字列配列として指定します。このパラメータの値は、Pathパラメータを修飾します。 *.txt
またはA*
のようなパス要素またはパターンを入力します。
Path パラメータの末尾のアスタリスク (*
) は省略可能です。 例:-Path C:\Test\Logs
または-Path C:\Test\Logs\*
。 末尾のアスタリスク (*
) が含まれる場合、コマンドはPath パラメータのサブディレクトリに再帰的に移動します。 アスタリスク (*
) がない場合は、Path パラメータの内容が表示されます。 詳細は、例5と「注意事項」に記載されています。
Type: | String |
Position: | Named |
初期値: | None |
パイプライン入力も受け付けるようにしました。 | False |
Accept wildcard characters: | True |
ファイルリストを取得するには、Fileパラメータを使用します。 Recurse パラメータは、File と一緒に使用することができます。
Type: | SwitchParameter | Aliases: | af | Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Pathパラメータに修飾フィルタを指定することがあります。 FileSystem プロバイダーは、フィルタをサポートする唯一のインストール済み PowerShell プロバイダーです。 フィルタは、他のパラメータよりも効率的です。 プロバイダは、オブジェクトが取得された後に PowerShell がオブジェクトをフィルタリングするのではなく、コマンドレットがオブジェクトを取得するときにフィルタを適用します。 フィルタ文字列は、ファイルを列挙するために .NET API に渡されます。 API は *
および ?
ワイルドカードのみをサポートしています。
Type: | String |
Position: | 1 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | True |
デフォルトでは、Get-ChildItem
コマンドレットは再帰中に見つかったディレクトリへのシンボリック リンクを表示しますが、ディレクトリには再作成されません。 これらのシンボリック リンクをターゲットとするディレクトリを検索するには、FollowSymlink パラメータを使用します。 FollowSymlink は動的パラメーターで、FileSystem プロバイダーでのみサポートされます。
このパラメーターは PowerShell 6.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
デフォルト値: | None |
Accept pipeline input.Data(パイプライン入力を受け取る)。 | False |
Accept wildcard characters: | False |
隠しファイルやシステム ファイルなどのユーザーによってアクセスできないアイテムがコマンドレットによって取得可能になるように指定します。 Force パラメーターは、セキュリティ制限を無効にしません。 実装はプロバイダーによって異なります。 詳細については、「プロバイダーについて」を参照してください。
Type: | SwitchParameter |
Position: | Named |
初期値: | False |
Accept pipeline input.Defaultは、Forceに設定されたパイプラインの入力を受け付けます。 | False |
Accept wildcard characters: | False |
隠しアイテムのみを取得する場合は、HiddenパラメータまたはHiddenプロパティの付いたAttributesパラメータを使用します。 Get-ChildItem
のデフォルトでは、隠し項目は表示されません。 隠し項目を取得するには、Forceparameterを使用します。
Type: | SwitchParameter |
Aliases: | ah, h |
Position: | Named |
初期値: | None |
パイプライン入力を受け付けます。 | False |
Accept wildcard characters: | False |
操作で追加するアイテムまたはアイテム名を、文字列配列で指定します。 このパラメータの値は、Path パラメータを修飾します。 "*.txt"
のようなパス要素またはパターンを入力します。 ワイルドカード文字も許可されます。 Include パラメータは、コマンドに項目の内容が含まれる場合にのみ有効で、たとえば、C:\Windows\*
のように、ワイルドカード文字は C:\Windows
ディレクトリの内容を指定します。
Type: | String |
Position: | Named |
初期値: | None |
パイプラインの入力に対応しました。 | False |
Accept Wildcard characters: | True |
1 か所以上のパスを指定することが可能です。 LiteralPathの値は、スタイル指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれる場合は、一重引用符で囲みます。 一重引用符は、PowerShell にいかなる文字もエスケープシーケンスとして解釈しないように指示します。
詳細については、about_Quoting_Rules を参照してください。
Type: | String | ||
Aliases: | PSPath, LP | ||
Position: | Named | ||
Default value.Of.Of.Use: | Named | Path | None |
Accept pipeline input: | True | ||
Accept wildcard characters: | False |
Type: | SwitchParameter | ||
Position: | Named | ||
初期値: | None | パイプライン入力に受け付けます。 | False |
Accept wildcard characters: | True |
1 つまたは複数のロケーションへのパスを指定することが可能です。 ワイルドカードも使用可能です。 デフォルトの場所は、現在のディレクトリ (.
) です。
Type: | String |
Position: | 0 |
初期値: | Current directory |
ipeline inputを受け付けます。 | True |
Accept wildcard characters: | True |
Read-Only アイテムのみを取得するには、ReadOnly パラメータまたは Attributes パラメータReadOnly プロパティを使用します。
Type: | SwitchParameter | |
Aliases: | ar | Position.Pirates |
SwitchParameter | Type:SwitchParameter | Named |
デフォルト値: | None | |
Accept pipeline input.(パイプライン入力を受け入れる)。 | False | |
Accept wildcard characters: | False |
指定位置と位置のすべての子項目にアイテムを取得します。
Type: | SwitchParameter | Aliases: | s |
Position: | Named | Default value.(デフォルト) | False |
Accept pipeline input: | False | ||
Accept wildcard characters: | False |
システムファイルおよびディレクトリのみを収集します。 システムファイルとフォルダーのみを取得するには、SystemparameterまたはAttributesパラメータのSystemプロパティを使用します。
Type: | SwitchParameter |
Aliases: | as |
Position.Of.System | Attributes | Path | SwitchParameter | Named |
デフォルト値: | None |
Accept pipeline input.(パイプライン入力を受け入れる)。 | False |
Accept Wildcard characters: | False |
Inputs
String
Get-ChildItem
へのパスが含まれている文字列をパイプに通すことができます。
Outputs
Object
Get-ChildItem
が返すオブジェクトの種類は、プロバイダのドライブパス内のオブジェクトによって決定されます。
String
Name パラメータを使用すると、Get-ChildItem
はオブジェクト名を文字列で返します。
Notes
-
Get-ChildItem
は、組み込みエイリアス、ls
、dir
およびgci
のいずれかを使用して実行することができます。 -
Get-ChildItem
はデフォルトでは hidden item を取得しません。 隠し項目を取得するには、Forceparameterを使用します。 -
Get-ChildItem
コマンドレットは、任意のプロバイダーによって公開されたデータで動作するように設計されています。 セッションで利用可能なプロバイダーの一覧を表示するには、Get-PSProvider
と入力します。詳細については、about_Providersを参照してください。
- about_Certificate_Provider
- about_Providers
- about_Quoting_Rules
- about_Registry_Provider
- ForEach-」と入力して、セッションで利用可能なプロバイダーのリストを表示します。オブジェクト
- Get-Alias
- Get-Item
- Get-Location
- Get-Process
- Get-PSProvider
- 分割パス