ファイルパスから拡張子を除いたファイル名を取得する

ファイルパスから拡張子を除いたファイル名を取得するコードを紹介します。

概要

こちらの記事ではファイルパスからファイル名を取得するコードを紹介しました。 ファイル名を取得する際に拡張子を取り除いたファイル名のみを取得したい場合もあります。この記事では、ファイルパスから拡張子を除いたファイル名のみを 取得するコードを紹介します。

方針

拡張子を除いたファイル名を取得するメソッドとして、Path.GetFileNameWithoutExtension() メソッドが用意されています。こちらを利用します。

プログラム例

UI

下図のフォームを作成します。テキストボックスを2つ、ボタンを1つ配置します。

コード

下記コードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace GetFileName
{
  public partial class FormGetFileNameWithoutExt : Form
  {
    public FormGetFileNameWithoutExt()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string FilePath = textBox1.Text;
      string FileNameWithoutExt = Path.GetFileNameWithoutExtension(FilePath);
      textBox2.Text = FileNameWithoutExt;
    }
  }
}

解説

上部のテキストボックスに入力された文字列を FilePath 変数に代入します。
  string FilePath = textBox1.Text;

Path.GetFileNameWithoutExtension()メソッドを呼び出し、FilePath 変数に代入されている文字列のファイルパスから拡張子を取り除いたファイル名を取得し、 FileNameWithoutExt変数に代入します。
  string FileNameWithoutExt = Path.GetFileNameWithoutExtension(FilePath);

FileNameWithoutExt変数の値を株のテキストボックスに表示します。
  textBox2.Text = FileNameWithoutExt;

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


上部のテキストボックスにファイルパスを入力します。今回は、D:\Storage\data\product.txt の文字列を入力します。


[button1]をクリックします。ファイルパスの文字列から拡張子を除いたファイル名productの文字列のみが下部のテキストボックスに表示されます。


他の文字列でも動作を確認します。
C:\Windows\System32\notepad.exe を入力して[button1]をクリックした場合の結果です。ファイル名から拡張子を除いた notepad が下部のテキストボックスに表示されます。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2023-10-15
iPentec all rights reserverd.