Stringオブジェクトのパス文字列を分解する方法・Split-Path †Get-ChildItemで取得したファイル名(System.IO.FileSystemInfo)であれば、Basenameなどのメソッドにより簡単にファイル名などを取得することができますが、 動作確認のバージョン †PS D:\work> $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 5 0 10586 122 関連記事 †紹介する Split-Path のオプション †以下のオプションを紹介します。
ファイル名またはフォルダ名を取得する -Leaf †オプション -Leaf により、最後の要素を取得することができます。 Split-Path -Leaf パス文字列 -Leaf 実行例 †PS D:\work> $path = "c:\foo\bar\hoge\sakura.txt" PS D:\work> Split-Path -Leaf $path sakura.txt PS D:\work> $path = "c:\foo\bar\hoge\sakura" PS D:\work> Split-Path -Leaf $path sakura PS D:\work> $path = "c:\foo\bar\hoge\sakura\" PS D:\work> Split-Path -Leaf $path sakura ドライブ名を除いたパス -NoQualifier †オプション -NoQualifier により、最後の要素を取得することができます。 Split-Path -NoQualifier パス文字列 -NoQualifier 実行例 †PS D:\work> $path = "c:\foo\bar\hoge\sakura.txt" PS D:\work> Split-Path -NoQualifier $path \foo\bar\hoge\sakura.txt 親フォルダ名の取得 -Parent †オプション -Parent により、親フォルダ名を取得することができます。 Split-Path -Parent パス文字列 -Parent 実行例 †PS D:\work> $path = "c:\foo\bar\hoge\sakura.txt" PS D:\work> Split-Path -Parent $path c:\foo\bar\hoge PS D:\work> Split-Path -Leaf $path sakura.txt フォルダ名とファイル名を分割できているのが確認できます。 ドライブレターを取得する -Qualifier †オプション -Qualifier にてドライブレターを取得することができます。 Split-Path -Qualifier パス文字列 -Qualifier 実行例 †PS D:\work> $path = "c:\foo\bar\hoge\sakura.txt" PS D:\work> Split-Path -Qualifier $path c: 以上、Split-Pathコマンドレットを使用して、パス文字列から各種要素を取得する方法でした。 |