次の方法で共有


Get-Item

指定した場所にある項目を取得します。

構文

Path (既定)

Get-Item
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-Stream <String[]>]
    [<CommonParameters>]

LiteralPath

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: 指定したディレクトリ内のプロパティを取得する

この例では、 ディレクトリの 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 プロパティは、lla--- によってハードリンクを識別します。

例 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を使用します。

パラメーターのプロパティ

型:PSCredential
規定値:Current user
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Exclude

文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに項目の内容 (C:\Windows\*など) が含まれている場合にのみ有効です。ワイルドカード文字は、C:\Windows ディレクトリの内容を指定します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Filter

Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターをサポートする唯一のインストール済み PowerShell プロバイダーです。 フィルターは、他のパラメーターよりも効率的です。 プロバイダーは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用します。 ファイルを列挙するために、フィルター文字列が .NET API に渡されます。 この API では、ワイルドカードの *? のみがサポートされます。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

このコマンドレットが、非表示の項目など、アクセスできない項目を取得することを示します。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Include

文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに項目の内容 (ワイルドカード文字が C:\Windows\* ディレクトリの内容を指定する C:\Windowsなど) が含まれている場合にのみ有効です。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-LiteralPath

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

詳細については、about_Quoting_Rulesを参照してください。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:PSPath, LP

パラメーター セット

LiteralPath
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Path

項目へのパスを指定します。 このコマンドレットは、指定した場所にある項目を取得します。 ワイルドカード文字を使用できます。 このパラメーターは必須ですが、Path パラメーター名は省略可能です。

現在の場所を指定するには、ドット (.) を使用します。 現在の場所のすべての項目を指定するには、ワイルドカード文字 (*) を使用します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

Path
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Stream

このパラメーターは Windows でのみ使用できます。

指定した代替 NTFS ファイル ストリームをファイルから取得します。 ストリーム名を入力します。 ワイルドカードがサポートされています。 すべてのストリームを取得するには、アスタリスク (*) を使用します。 このパラメーターは、フォルダーでは無効です。

Stream は、FileSystem プロバイダーが Get-Item コマンドレットに追加する動的パラメーターです。 このパラメーターは、ファイル システム ドライブでのみ機能します。

パラメーターのプロパティ

型:

String[]

規定値:No alternate file streams
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

String

このコマンドレットへのパスを含む文字列をパイプ処理できます。

出力

Object

このコマンドレットは、取得したオブジェクトを返します。 タイプは、パス内のオブジェクトのタイプによって決まります。

メモ

このコマンドレットは、Recurse パラメーターを持っていません。これは、その内容ではなく項目のみを取得するためです。 項目の内容を再帰的に取得するには、Get-ChildItemを使用します。

レジストリ内を移動するには、このコマンドレットを使用してレジストリ キーを取得し、レジストリ値とデータを取得する Get-ItemProperty を取得します。 レジストリ値は、レジストリ キーのプロパティと見なされます。

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