Powershellを使ったパス名の正規化

PowerShell

この記事でできること

PowerShellを使用して、Windowsの冗長なパス名や相対パスを絶対パスへ安全に正規化(解決)する方法を解説します。

パス名の正規化とは

パス名の正規化とは、パス名を決まったルールに従って整形し、相対パスを絶対パスに変換したり、冗長な表現(.や..など)を省略したりすることです。

例えば、Windowsの場合、以下のようなパス表現があるとします。

C:\Users\ExampleUser\..\ExampleFolder\file.txt

このパス表現は、..\を使って上位のフォルダに移動しているため、冗長であり、実際のファイルの場所が正しく表されていません。パス名の正規化を行うことで、この表現を以下のように変換することができます。

C:\ExampleFolder\file.txt

PowerShellで実装する例

PowerShellから.NETのSystem.IO.PathクラスのGetFullPathメソッドを使用し、指定されたパスを正規化することができます。

$path = "C:\Users\ExampleUser\..\ExampleFolder\file.txt"
$normalizedPath = [System.IO.Path]::GetFullPath($path)

Write-Output "パス正規化前:$path"
Write-Output "パス正規化後:$normalizedPath"

実行結果

パス正規化前:C:\Users\ExampleUser\..\ExampleFolder\file.txt
パス正規化後:C:\ExampleFolder\file.txt

公式情報・参考リンク

Microsoft Learn: Path.GetFullPath メソッド (System.IO)

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 変更PowerShellの実行例をコードブロック形式に変更しました。
  • 追加パス名の正規化における前提条件と実行手順を追加しました。

文書情報

記事タイトル
Powershellを使ったパス名の正規化
作成日
更新日
Source URL
https://papanda925.com/?p=2488

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました