#navi(../)
* PowerShellでファイルのディレクトリパスや上位ディレクトリ名を取得する方法 [#c2564b82]
PowerShellを使用して、ファイルのディレクトリパスや上位ディレクトリ名を取得する方法を以下に記します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#j3e26fbc]
-[[PowerShellでディレクトリのみ、ファイルのみの一覧を表示する方法>PowerShell/ディレクトリのみ、ファイルのみの一覧を表示する方法]]
-[[PowerShellでファイルのフルパス,basename,拡張子を取得する方法>PowerShell/ファイルのフルパス,basename,拡張子を取得する方法]]

* ディレクトリまで(ファイル名を除く) [#p4756469]
ファイルが存在するディレクトリ名を取得する構文を以下に記します。
 (Get-Item <ファイル>).DirectoryName
or
 (Get-ChildItem <ファイル>).DirectoryName
実行例を以下に記します。
 PS C:\sakura> (Get-item ..\Windows\System32\notepad.exe).DirectoryName
 C:\Windows\System32
notepad.exeが存在するパスとディレクトリを表示してます。
-notepad.exeが存在するフルパスを表示
 PS C:\sakura> (Get-Command notepad.exe).Path
 C:\WINDOWS\SYSTEM32\notepad.exe
-Get-CommandのPathで取得した情報からディレクトリ名を取得
 PS C:\sakura> (Get-item (Get-Command notepad.exe).Path).DirectoryName
 C:\WINDOWS\SYSTEM32

* 上位ディレクトリを取得する [#nca94989]
上記の例では、ファイルが存在するディレクトリのフルパスを取得しました。~
以下のでは、上位ディレクトリ名のみを取得する方法を記します。~
構文は以下のようになります。
 ((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でファイルのディレクトリパスや上位ディレクトリ名を取得する方法でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS