パス名の正規化とは
パス名を決まったルールに従って整形例えば、相対パスを絶対パスに変換したり、冗長な表現を省略したりすること。
例えば、Windowsの場合、以下のようなパス表現があるとします。
1 |
C:\Users\ExampleUser\..\ExampleFolder\file.txt |
このパス表現は、..\
を使って上位のフォルダに移動しているため、冗長であり、実際のファイルの場所が正しく表されていません。パス名の正規化を行うことで、この表現を以下のように変換することができます。
1 |
C:\ExampleFolder\file.txt |
Powershellで実装する例
PowerShellからSystem.IO.PathクラスのGetFullPathメソッドを使用し、指定されたパスを正規化することができます。
1 2 3 4 5 6 7 |
$path = "C:\Users\ExampleUser\..\ExampleFolder\file.txt" $normalizedPath = [System.IO.Path]::GetFullPath($path) write-output "パス正規化前:$path" write-output "パス正規化後:$normalizedPath " |
実行結果
1 2 3 |
パス正規化前:C:\Users\ExampleUser\..\ExampleFolder\file.txt パス正規化後:C:\Users\ExampleFolder\file.txt |
コメント