PowerShell を使用してパスからファイル名を抽出する

Rohan Timalsina 2023年1月30日
  1. PowerShell で Split-Path コマンドレットを使用してパスからファイル名を抽出する
  2. PowerShell で GetFileName メソッドを使用してパスからファイル名を抽出する
  3. PowerShell で Get-Item コマンドレットを使用してパスからファイル名を抽出する
PowerShell を使用してパスからファイル名を抽出する

ファイルパスは、システム上のファイルの場所を示します。PowerShell でファイルを操作しているときに、パスからファイル名のみを取得する必要がある場合があります。

PowerShell でファイルのパスを取得する方法は複数あります。このチュートリアルでは、PowerShell を使用してファイルパスからファイル名を抽出する方法を説明します。

PowerShell で Split-Path コマンドレットを使用してパスからファイル名を抽出する

Split-Path コマンドレットは、PowerShell で指定されたパスの指定された部分を表示します。パスの一部は、親フォルダー、サブフォルダー、ファイル名、またはファイル拡張子のみにすることができます。

拡張子が付いたファイル名を抽出するには、-Leaf パラメータを指定して Split-Path コマンドを使用します。

Split-Path C:\pc\test_folder\hello.txt -Leaf

出力:

hello.txt

拡張子のないファイル名を取得するには、-LeafBase パラメーターを使用できます。このパラメーターは、PowerShell6.0 以降のバージョンでのみ使用できます。

Split-Path C:\pc\test_folder\hello.txt -LeafBase

出力:

hello

PowerShell で GetFileName メソッドを使用してパスからファイル名を抽出する

.NET の Path クラスの GetFileName メソッドは、指定されたパスのファイル名と拡張子を返します。

次の例は、パス C:\pc\test_folder\hello.txt からのファイル名と拡張子を表示します。

[System.IO.Path]::GetFileName('C:\pc\test_folder\hello.txt')

出力:

hello.txt

GetFileNameWithoutExtension メソッドを使用して、拡張子のないファイル名のみを抽出できます。

[System.IO.Path]::GetFileNameWithoutExtension('C:\pc\test_folder\hello.txt')

出力:

hello

PowerShell で Get-Item コマンドレットを使用してパスからファイル名を抽出する

Get-Item コマンドレットは、指定された場所にあるアイテムを抽出します。アイテムが指定されたパスに存在する場合、ファイルの DirectoryModeLastWriteTimeLength、そして Name が返されます。

Get-Item C:\pc\test_folder\hello.txt

出力:

Directory: C:\pc\test_folder


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        09-06-2022     21:43             18 hello.txt

上記のコマンドの最後に .Name を追加して、拡張子が付いたファイル名のみを返すことができます。

(Get-Item C:\pc\test_folder\hello.txt).Name

出力:

hello.txt

拡張子のないファイル名のみを取得するには、.BaseName プロパティを指定します。

(Get-Item C:\pc\test_folder\hello.txt).BaseName

出力:

hello

このメソッドは、Get-ChildItem コマンドレットにも適用されます。

(Get-ChildItem C:\pc\test_folder\hello.txt).Name
(Get-ChildItem C:\pc\test_folder\hello.txt).BaseName

出力:

hello.txt
hello
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell File