Get-ChildItem

Module: Microsoft.PowerShell.Management

1 つまたは複数の指定された場所にある項目と子項目を取得します。

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 に指示します。

Example 7: Get all certificates with code-signing authority

この例では、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

-Attributes

指定した属性を持つファイルおよびフォルダーを取得する。 このパラメータはすべての属性をサポートし、属性の複雑な組み合わせを指定できます。

たとえば、暗号化または圧縮された非システム ファイル (ディレクトリではない) を取得するには、次のように入力します:

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
-Depth

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

ディレクトリのリストを取得するには、ディレクトリ プロパティを指定して 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
-Exclude

このコマンドレットが操作から除外するプロパティまたはプロパティを、文字列配列として指定します。このパラメータの値は、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

ファイルリストを取得するには、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

-FollowSymlink

デフォルトでは、Get-ChildItem コマンドレットは再帰中に見つかったディレクトリへのシンボリック リンクを表示しますが、ディレクトリには再作成されません。 これらのシンボリック リンクをターゲットとするディレクトリを検索するには、FollowSymlink パラメータを使用します。 FollowSymlink は動的パラメーターで、FileSystem プロバイダーでのみサポートされます。

このパラメーターは PowerShell 6.0 で導入されました。

Type: SwitchParameter
Position: Named
デフォルト値: None
Accept pipeline input.Data(パイプライン入力を受け取る)。 False
Accept wildcard characters: False
-Force

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

Type: SwitchParameter
Position: Named
初期値: False
Accept pipeline input.Defaultは、Forceに設定されたパイプラインの入力を受け付けます。 False
Accept wildcard characters: False
-Hidden

隠しアイテムのみを取得する場合は、HiddenパラメータまたはHiddenプロパティの付いたAttributesパラメータを使用します。 Get-ChildItemのデフォルトでは、隠し項目は表示されません。 隠し項目を取得するには、Forceparameterを使用します。

Type: SwitchParameter
Aliases: ah, h
Position: Named
初期値: None
パイプライン入力を受け付けます。 False
Accept wildcard characters: False
-Include

操作で追加するアイテムまたはアイテム名を、文字列配列で指定します。 このパラメータの値は、Path パラメータを修飾します。 "*.txt" のようなパス要素またはパターンを入力します。 ワイルドカード文字も許可されます。 Include パラメータは、コマンドに項目の内容が含まれる場合にのみ有効で、たとえば、C:\Windows\* のように、ワイルドカード文字は C:\Windows ディレクトリの内容を指定します。

Type: String
Position: Named
初期値: None
パイプラインの入力に対応しました。 False
Accept Wildcard characters: True
-LiteralPath

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
Name
<1124>位置にあるアイテム名のみを取得します。 出力は文字列オブジェクトで、他のコマンドにパイプラインで送信することができます。 ワイルドカードも使用可能です。

Type: SwitchParameter
Position: Named
初期値: None パイプライン入力に受け付けます。 False
Accept wildcard characters: True
-Path

1 つまたは複数のロケーションへのパスを指定することが可能です。 ワイルドカードも使用可能です。 デフォルトの場所は、現在のディレクトリ (.) です。

Type: String
Position: 0
初期値: Current directory
ipeline inputを受け付けます。 True
Accept wildcard characters: True
-ReadOnly

Read-Only アイテムのみを取得するには、ReadOnly パラメータまたは Attributes パラメータReadOnly プロパティを使用します。

Type: SwitchParameter
Aliases: ar
Position.Pirates
SwitchParameter Type:SwitchParameter Named
デフォルト値: None
Accept pipeline input.(パイプライン入力を受け入れる)。 False
Accept wildcard characters: False
-Recurse

指定位置と位置のすべての子項目にアイテムを取得します。

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は、組み込みエイリアス、lsdir および 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
  • 分割パス

コメントを残す

メールアドレスが公開されることはありません。