PowerShellを使用して、ファイルのディレクトリパスや上位ディレクトリ名を取得する方法を以下に記します。
ファイルが存在するディレクトリ名を取得する構文を以下に記します。
(Get-Item <ファイル>).DirectoryName
or
(Get-ChildItem <ファイル>).DirectoryName
実行例を以下に記します。
PS C:\sakura> (Get-item ..\Windows\System32\notepad.exe).DirectoryName C:\Windows\System32
notepad.exeが存在するパスとディレクトリを表示してます。
PS C:\sakura> (Get-Command notepad.exe).Path C:\WINDOWS\SYSTEM32\notepad.exe
PS C:\sakura> (Get-item (Get-Command notepad.exe).Path).DirectoryName C:\WINDOWS\SYSTEM32
上記の例では、ファイルが存在するディレクトリのフルパスを取得しました。
以下のでは、上位ディレクトリ名のみを取得する方法を記します。
構文は以下のようになります。
((Get-Item <ファイル>).Directory).Name
or
((Get-ChildItem <ファイル>).Directory).Name
以下に実行例を記します。
PS C:\sakura> (Get-Command mspaint.exe).Path C:\WINDOWS\SYSTEM32\mspaint.exe PS C:\sakura> (Get-ChildItem C:\WINDOWS\SYSTEM32\mspaint.exe).Directory Mode LastWriteTime Length Name ---- ------------- ------ ---- d-r-- 2015/11/04 19:55 SYSTEM32 PS C:\sakura> ((Get-ChildItem C:\WINDOWS\SYSTEM32\mspaint.exe).Directory).Name SYSTEM32 PS C:\sakura>
以上、PowerShellでファイルのディレクトリパスや上位ディレクトリ名を取得する方法でした。