このページの本文へ

前へ 1 2 次へ

Windows Info 第493回

PowerShellでパスを処理する4つのコマンド

2025年08月10日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

Convert-Path

 PowerShell内では、一見Windowsの普通のパスが使われているように見えるが、実際には、プロバイダー(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_providers?view=powershell-7.5)と呼ばれるオブジェクトへのアクセスを提供するモジュールを指定する「ドライブ」が併用されている。

 ここでは誤解を避けるため、PowerShellのプロバイダーを「PSプロバイダー」、ドライブを「PSドライブ」と表記する。たとえば、ファイルシステムへのアクセスには、「FileSystem」プロバイダーが使われており、「C:」はPSドライブである。

 同じ仕組みがレジストリや環境変数にも使われており、それぞれ「Registryプロバイダー」と「Environmentプロバイダー」に対応している。これを指定するためにPSドライブとしてレジストリの「HKLM:」と環境変数の「ENV:」が定義されている。

 Convert-Pathは、こうしたPSドライブを使ったパスを、PSプロバイダのパスに変換する。これは、型としては文字列でWindows側での標準的なデータ(オブジェクト)指定表現となる。

 たとえば、レジストリ「HKEY_LOCAL_MACHINE\SYSTEM」は、PowerShell内では、PSドライブHKLM:を使って「HKLM:SYSTEM」となる。これをWindowsの標準形式に戻すには、

Convert-Path HKLM:SYSTEM

として、「HKEY_LOCAL_MACHINE\SYSTEM」を得る。

パス

PowerShell内部では、パスはPSドライブを使った内部表現となっている。Convert-Pathコマンドを使うことで、Windows側のパス表現に変換することができる

 REG.EXEコマンドを使う場合、PSの直接表現では、エラーになる。Convert-Pathで、変換することで外部コマンド(PowerShellの内部コマンドではないもの)であるREG.EXEコマンドが正しく実行できる。

reg query $(Convert-Path HKLM:\SYSTEM)

 なお、「FileSystem」プロバイダーは、ドライブ文字に見える部分がPSドライブであるため、文字列のレベルでは、WindowsのパスとPowerShellの内部表現の区別がつかない。このため、そのまま外部コマンドに渡すことができる。

Resolve-Path

 Resolve-Path(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/resolve-path?view=powershell-7.5)は、パスに含まれるワイルドカードを解決して、条件を満たすパスを返す。しかし、使い方としては、ワイルドカードを使って指定した条件を満たすファイル、ディレクトリを配列として得るために使う。

Resolve-Path C:\temp\test.*

パス

Resolve-Pathは、ワイルドカードを使って、条件を満たすファイル、ディレクトリを列挙するもの。出力がPathInfoオブジェクトなので、PSプロバイダーなどのプロパティを得ることができる

 このコマンドの出力は、PathInfoなので、プロバイダやプロバイダパスが得られる。

Resolve-Path C:\temp\000-Test\File-type\test.* | select Provider,ProviderPath

 Convert-Pathコマンドにもワイルドカードを解決する機能はあるが、出力は文字列(の配列)となる。

 PowerShellは、PSプロバイダーにより定義されるPSドライブを使って、ファイルやレジストリ、環境変数などのWindows側のオブジェクトを階層構造を持つパスで指定できるように作られている。ただ、ファイルシステムの操作には違和感はないものの、レジストリなどは、外部コマンドと併用する場合にパスを変換する必要がある。

 次回は、パスの相対、絶対を区別するために使われる「作業ディレクトリ」(カレントディレクトリ)と、パスの正当性などについて解説する予定だ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン