Get-Item
指定された場所にある項目を取得します。
構文
Get-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Stream <String[]>]
[<CommonParameters>]
Get-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-Stream <String[]>]
[<CommonParameters>]
説明
コマンドレットは Get-Item
、指定した場所にある項目を取得します。 ワイルドカード文字 (*
) を使用してアイテムのすべてのコンテンツを要求しない限り、その場所のアイテムの内容は取得されません。
このコマンドレットは、さまざまな種類のデータ ストア間を移動するために PowerShell プロバイダーによって使用されます。
例
例 1: 現在のディレクトリを取得する
この例では、現在のディレクトリを取得します。 ドット ('.') は、(コンテンツではなく) 現在の場所にある項目を表します。
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
例 2: 現在のディレクトリ内のすべての項目を取得する
この例では、現在のディレクトリ内のすべての項目を取得します。 ワイルドカード文字 (*
) は、現在の項目のすべての内容を表します。
Get-Item *
Directory: C:\ps-test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 9:29 AM Logs
d---- 7/26/2006 9:26 AM Recs
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 7/26/2006 9:30 AM 11472 process.doc
-a--- 7/14/2006 10:47 AM 30 test.txt
例 3: ドライブの現在のディレクトリを取得する
この例では、ドライブの現在のディレクトリを C:
取得します。 ここで取得するオブジェクトは、ディレクトリのみを表します。その内容は表しません。
Get-Item C:
例 4: 指定したドライブ内の項目を取得する
この例では、ドライブ内の項目を C:
取得します。 ワイルドカード文字 (*
) は、コンテナーだけでなく、コンテナー内のすべての項目を表します。
Get-Item C:\*
PowerShell では、従来*.*
の ではなく、1 つのアスタリスク (*
) を使用してコンテンツを取得します。 形式はリテラルで解釈されるため *.*
、ドットのないディレクトリやファイル名は取得されません。
例 5: 指定したディレクトリ内のプロパティを取得する
この例では、ディレクトリの LastAccessTime プロパティを C:\Windows
取得します。 LastAccessTime は、ファイル システム ディレクトリの 1 つのプロパティにすぎません。 ディレクトリのすべてのプロパティを表示するには、「」と入力します (Get-Item <directory-name>) | Get-Member
。
(Get-Item C:\Windows).LastAccessTime
例 6: レジストリ キーの内容を表示する
この例では、 Microsoft.PowerShell レジストリ キーの内容を示します。 このコマンドレットを PowerShell レジストリ プロバイダーと共に使用してレジストリ キーとサブキーを取得できますが、 コマンドレットを Get-ItemProperty
使用してレジストリ値とデータを取得する必要があります。
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
例 7: 除外があるディレクトリ内の項目を取得する
この例では、ドット (.
) を含む名前を持つ Windows ディレクトリ内の項目を取得しますが、 で w*
始まりはしません。この例は、パスにワイルドカード文字 (*
) が含まれている場合にのみ機能し、項目の内容を指定します。
Get-Item C:\Windows\*.* -Exclude "w*"
例 8: ハードリンク情報の取得
PowerShell 6.2 では、ハードリンク情報を取得するための代替ビューが追加されました。 ハードリンク情報を取得するには、出力を にパイプします。 Format-Table -View childrenWithHardlink
Get-Item C:\Windows\System32\ntoskrnl.exe | Format-Table -view childrenWithHardLink
Directory: C:\Windows\System32
Mode LastWriteTime Length Name
---- ------------- ------ ----
la--- 5/12/2021 7:40 AM 10848576 ntoskrnl.exe
プロパティは Mode
、 でハードリンクを l
識別します。 la---
例 9: Windows 以外のオペレーティング システムの出力
Unix システムの PowerShell 7.1 では、コマンドレットは Get-Item
Unix のような出力を提供します。
PS> Get-Item /Users
Directory: /
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
drwxr-xr-x root admin 12/20/2019 11:46 192 Users
出力の一部になった新しいプロパティは次のとおりです。
- UnixMode は、Unix システムで表されるファイルのアクセス許可です
- ユーザー がファイル所有者である
- グループ はグループ所有者です
- サイズ は、Unix システムで表されるファイルまたはディレクトリのサイズです
注意
この機能は、PowerShell 7.1 で試験段階からメインストリームに移行しました。
パラメーター
-Credential
注意
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格させたりするには、 Invoke-Command を使用します。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 などのパス要素またはパターンを *.txt
入力します。 ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに などのC:\Windows\*
項目の内容が含まれている場合にのみ有効です。ワイルドカード文字はディレクトリの内容をC:\Windows
指定します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターをサポートする唯一のインストール済み PowerShell プロバイダーです。 フィルターは、他のパラメーターよりも効率的です。 プロバイダーは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用します。 フィルター文字列は、ファイルを列挙するために .NET API に渡されます。 API では、 と ?
ワイルドカードのみがサポート*
されています。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
このコマンドレットは、非表示の項目など、アクセスできない項目を取得することを示します。 実装はプロバイダーごとに異なります。 詳細については、「about_Providers」を参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 などのパス要素またはパターンを *.txt
入力します。 ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに などのC:\Windows\*
項目の内容が含まれている場合にのみ有効です。ワイルドカード文字はディレクトリの内容をC:\Windows
指定します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
1 つ以上の場所へのパスを指定します。 LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、文字をエスケープ シーケンスとして解釈しないように PowerShell に指示します。
詳細については、「 about_Quoting_Rules」を参照してください。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
項目のパスを指定します。 このコマンドレットは、指定した場所にある項目を取得します。 ワイルドカード文字を使用できます。 このパラメーターは必須ですが、パラメーター名 Path は省略可能です。
現在の場所を指定するには、ドット (.
) を使用します。 現在の場所にあるすべての項目を指定するには、ワイルドカード文字 (*
) を使用します。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
注意
このパラメーターは、Windows でのみ使用できます。
指定した代替 NTFS ファイル システムをファイルから取得します。 ストリーム名を入力します。 ワイルドカードを利用できます。 すべてのストリームを取得するには、アスタリスク (*
) を使用します。 このパラメーターは、フォルダーでは無効です。
Streamは、FileSystem プロバイダーがコマンドレットに追加するGet-Item
動的パラメーターです。
このパラメーターはファイル システム ドライブでのみ機能します。
Type: | String[] |
Position: | Named |
Default value: | No alternate file streams |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
入力
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
このコマンドレットは、取得したオブジェクトを返します。 この型は、パス内のオブジェクトの型によって決まります。
メモ
このコマンドレットには Recurse パラメーターはありません。これは、アイテムのみを取得し、その内容は取得しないためです。
項目の内容を再帰的に取得するには、 を使用 Get-ChildItem
します。
レジストリ内を移動するには、このコマンドレットを使用してレジストリ キーを取得し、 を Get-ItemProperty
使用してレジストリ値とデータを取得します。 レジストリ値はレジストリ キーのプロパティと見なされます。
このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用できるプロバイダーを一覧表示するには、「」と入力します Get-PsProvider
。 詳細については、「about_Providers」を参照してください。