分かりやすく、使いやすく。

パスの文字列から拡張子やファイル名を取り出す方法

スポンサーリンク

PowerShell で文字列のパスからファイル名や拡張子、フォルダのパスを取り出すには、 System.IO 名前空間の Path クラスを使います。

  1. 拡張子を取り出す
  2. ファイル名(拡張子有り)を取り出す
  3. ファイル名(拡張子無し)を取り出す
  4. ファイルが格納されているフォルダのパスを取り出す


拡張子を取り出す

PowerShell でパスの文字列から拡張子を取り出すサンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
$str_path = "c:\temp\3月分.xlsx"
 
$str_extension = [System.IO.Path]::GetFileName($str_path);
 
Write-Host ("拡張子:" + $str_extension); 

実行結果は次の通りです。

拡張子:.xlsx 

ファイル名(拡張子有り)を取り出す

PowerShell でパスの文字列から拡張子付きのファイル名を取り出すサンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
$str_path = "c:\temp\3月分.xlsx"
 
$str_file_name = [System.IO.Path]::GetFileName($str_path);
 
Write-Host ("ファイル名:" + $str_file_name); 

実行結果は次の通りです。

ファイル名:3月分.xlsx 

ファイル名(拡張子無し)を取り出す

PowerShell でパスの文字列から拡張子無しのファイル名を取り出すサンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
$str_path = "c:\temp\3月分.xlsx"
 
$str_file_name_without_ext = [System.IO.Path]::GetFileNameWithoutExtension($str_path);
 
Write-Host ("ファイル名(拡張子無し):" + $str_file_name_without_ext); 

実行結果は次の通りです。

ファイル名(拡張子無し):3月分 

ファイルが格納されているフォルダのパスを取り出す

PowerShell でパスの文字列からファイルが格納されているフォルダのパスを取り出すサンプルコードは次の通りです。この他にも Split-Path コマンドレットを使用する方法がありますが、その方法については親フォルダの絶対パスを取得する方法を参照してください。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
$str_path = "c:\temp\3月分.xlsx"
 
$str_folder_path = [System.IO.Path]::GetDirectoryName($str_path);
 
Write-Host ("フォルダのパス:" + $str_folder_path); 

実行結果は次の通りです。

フォルダのパス:c:\temp 
スポンサーリンク
スポンサーリンク