PowerShell のファイル名からパスと拡張子を削除する

Rohan Timalsina 2023年1月30日
  1. BaseName プロパティを使用して、PowerShell のファイル名からパスと拡張子を削除する
  2. .NET クラスを使用して、PowerShell のファイル名からパスと拡張子を削除する
PowerShell のファイル名からパスと拡張子を削除する

PowerShell は、システム内のさまざまなファイル操作の処理をサポートしています。PowerShell でファイルの作成、コピー、移動、名前変更、編集、削除、表示などのタスクを実行できます。

PowerShell には、ファイルの名前フルパス拡張子を取得するために使用できるさまざまなコマンドレットがあります。システム内のファイルを操作しているときに、パスと拡張子を付けずにファイル名を取得する必要がある場合があります。

このチュートリアルでは、PowerShell のファイル名からパスと拡張子を削除する方法を説明します。

BaseName プロパティを使用して、PowerShell のファイル名からパスと拡張子を削除する

コマンドレット Get-Item は、指定された場所でアイテムを取得します。指定したファイルの DirectoryModeLastWriteTimeLength、および Name が表示されます。

指示:

Get-Item test.txt

出力:

Directory: C:\Users\rhntm

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         3/12/2022   7:36 PM             70 test.txt

Get-ItemBaseName プロパティを使用して、Get-Item でファイル名のみを取得できます。

(Get-Item test.txt).BaseName

出力:

test

複数のファイルのパスと拡張子を削除する場合は、Get-ChildItem コマンドレットを使用できます。次のコマンドは、PowerShell でパスと拡張子なしで複数のファイル名を取得する方法を示しています。

指示:

(Get-ChildItem "C:\Users\rhntm\*.txt").BaseName

出力:

hello
new
record
test

上記のコマンドは、ディレクトリ C:\Users\rhtnm にあるすべての .txt ファイル名を取得します。

.NET クラスを使用して、PowerShell のファイル名からパスと拡張子を削除する

次のメソッドは、.NET フレームワーククラスを使用して、ファイル名からパスと拡張子を削除します。System.IO.Path.NET クラスには、PowerShell で拡張子なしでファイル名を取得する GetFileNameWithoutExtension() メソッドがあります。

C:\Users\rhntm\test.txt にあるファイル名を取得する場合は、以下のコマンドを実行できます。

指示:

[System.IO.Path]::GetFileNameWithoutExtension("C:\Users\rhntm\test.txt")

出力:

test

System.IO.FileInfo クラスを basename プロパティとともに使用して、拡張子なしのファイル名を取得することもできます。

指示:

([System.IO.FileInfo]"C:\Users\rhntm\test.txt").BaseName

出力:

test

この記事では、PowerShell でパスと拡張子なしでファイル名を取得するためのさまざまな方法について説明しました。

著者: 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