次の方法で共有


Resolve-Path

パス中のワイルドカード文字を解決し、パスの内容を表示します。

構文

Resolve-Path
       [-Path] <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [<CommonParameters>]
Resolve-Path
       -LiteralPath <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [<CommonParameters>]

説明

Resolve-Path コマンドレットは、指定された場所にあるワイルドカード パターンに一致する項目とコンテナーを表示します。 一致には、ファイル、フォルダー、レジストリ キー、または PSDrive プロバイダーからアクセスできるその他のオブジェクトを含めることができます。

例 1: ホーム フォルダーのパスを解決する

チルダ文字 (~) は、現在のユーザーのホーム フォルダーの短縮表記です。 この例では、完全修飾パス値を返す Resolve-Path を示します。

Resolve-Path ~

Path
----
C:\Users\User01

例 2: Windows フォルダーのパスを解決する

Resolve-Path -Path "windows"

Path
----
C:\Windows

C: ドライブのルートから実行すると、このコマンドは、C: ドライブ内のWindows フォルダーのパスを返します。

例 3: Windows フォルダー内のすべてのパスを取得する

"C:\windows\*" | Resolve-Path

このコマンドは、 C:\Windows フォルダー内のすべてのファイルとフォルダーを返します。 このコマンドでは、パイプライン演算子 (|) を使用して、パス文字列を Resolve-Pathに送信します。

例 4: UNC パスを解決する

Resolve-Path -Path "\\Server01\public"

このコマンドは、汎用名前付け規則 (UNC) パスを解決し、そのパス以下の共有を返します。

例 5: 相対パスを取得する

Resolve-Path -Path "c:\prog*" -Relative

.\Program Files
.\Program Files (x86)
.\programs.txt

このコマンドは、 C: ドライブのルートにあるディレクトリの相対パスを返します。

例 6: 角かっこを含むパスを解決する

この例では、 LiteralPath パラメーターを使用して、 Test[xml] サブフォルダーのパスを解決します。 LiteralPathを使用すると、角かっこは正規表現ではなく通常の文字として扱われます。

Resolve-Path -LiteralPath 'test[xml]'

例 7: 別のフォルダーに対する相対パスを解決する

この例では、RelativeBasePath パラメーターを使用して、$env:TEMPに対するpwsh実行可能ファイルのパスを解決します。 コマンドに Relative switch パラメーターが含まれている場合は、$env:TEMPからpwsh実行可能ファイルへの相対パスを表すStringを返します。

$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $env:TEMP -Relative

..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe

パラメーター

-Credential

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01Domain01\User01などのユーザー名を入力するか、PSCredential オブジェクトを渡します。 Get-Credential コマンドレットを使用して、PSCredential オブジェクトを作成できます。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。

型:PSCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-LiteralPath

解決するパスを指定します。 LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符 (') で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。

型:String[]
Aliases:PSPath, LP
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Path

解決する PowerShell パスを指定します。 このパラメーターは必須です。 パス文字列をパイプして Resolve-Pathすることもできます。 ワイルドカード文字を使用できます。

型:String[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:True

-Relative

このコマンドレットから相対パスが返されることを示します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RelativeBasePath

相対パスを解決するパスを指定します。 このパラメーターを使用すると、コマンドレットは解決されたパスの System.Management.Automation.PathInfo オブジェクトを返します。

このパラメーターを Relative スイッチ パラメーターと共に使用すると、コマンドレットは RelativeBasePath から Path への相対パスを表す文字列を返します。

このパラメーターは PowerShell 7.4 で追加されました。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

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

出力

PathInfo

既定では、このコマンドレットは PathInfo オブジェクトを返します。

String

Relative パラメーターを指定すると、解決されたパスの文字列値が返されます。

メモ

PowerShell には、 Resolve-Pathの次のエイリアスが含まれています。

  • すべてのプラットフォーム:
    • rvpa

*-Path コマンドレットは、FileSystemRegistry、および Certificate プロバイダーと連携します。

Resolve-Path は、任意のプロバイダーと連携するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「 Get-PSProvider」と入力します。 詳細については、「 about_providers」を参照してください。

Resolve-Path は既存のパスのみを解決します。 まだ存在しない場所を解決するために使用することはできません。