このエントリーをはてなブックマークに追加


PowerShellでファイルのディレクトリパスや上位ディレクトリ名を取得する方法

PowerShellを使用して、ファイルのディレクトリパスや上位ディレクトリ名を取得する方法を以下に記します。


関連記事

ディレクトリまで(ファイル名を除く)

ファイルが存在するディレクトリ名を取得する構文を以下に記します。

(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

上位ディレクトリを取得する

上記の例では、ファイルが存在するディレクトリのフルパスを取得しました。
以下のでは、上位ディレクトリ名のみを取得する方法を記します。
構文は以下のようになります。

((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でファイルのディレクトリパスや上位ディレクトリ名を取得する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-11-04 (水) 20:28:15