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
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01
やDomain01\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 |
入力
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
既定では、このコマンドレットは PathInfo オブジェクトを返します。
Relative パラメーターを指定すると、解決されたパスの文字列値が返されます。
メモ
PowerShell には、 Resolve-Path
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
rvpa
*-Path
コマンドレットは、FileSystem、Registry、および Certificate プロバイダーと連携します。
Resolve-Path
は、任意のプロバイダーと連携するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「 Get-PSProvider
」と入力します。 詳細については、「 about_providers」を参照してください。
Resolve-Path
は既存のパスのみを解決します。 まだ存在しない場所を解決するために使用することはできません。
関連リンク
PowerShell