アプリケーション実行ファイルのディレクトリのパス、ディレクトリ名を取得する - C#

アプリケーション実行ファイルのディレクトリのパス、ディレクトリ名を取得するコードを紹介します。

概要

C#で現在実行しているプログラム(実行ファイル)があるディレクトリのパス、ディレクトリ名を取得するコードを紹介します。
ディレクトリパスやディレクトリ名の取得は、アプリケーションの実行ファイルのApplication.ExecutablePath プロパティの値から取得します。
補足
コンソールアプリケーションの場合は、Applicationオブジェクト(System.Windows.Forms.Application)が利用できません。 コンソールアプリケーションの場合は、別の方法で実行ファイルのディレクトリを取得するか、System.Windows.Formsを参照に追加する必要があります。 詳細はこちらの記事を参照してください。

実装

アプリケーションの実行ファイルは、Application.ExecutablePath プロパティで取得できます。 ディレクトリ名は、Path.GetDirectoryName() メソッドで取得できるため、この2つを組み合わせて実装します。

プログラム

Windows Formアプリケーションを作成します。

UI

下図のUIを作成します。ボタンとテキストボックスを3つ配置します。

コード

下記コードを記述します。
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;
using System.IO;

namespace GetPath
{
  public partial class FormGetApplicationDirectory : Form
  {
    public FormGetApplicationDirectory()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string ExePath = Application.ExecutablePath;
      textBox1.Text = ExePath;

      string ExeDirPath = Path.GetDirectoryName(Application.ExecutablePath);
      textBox2.Text = ExeDirPath;

      string ExeDirName = Path.GetFileName(Path.GetDirectoryName(Application.ExecutablePath));
      textBox3.Text = ExeDirName;
    }
  }
}

解説

Application.ExecutablePath プロパティでアプリケーションの実行ファイルのフルパスを取得します。 実行ファイルのフルパス取得の詳細はこちらの記事を参照して下さい。
取得したフルパスを、Path.GetDirectoryName() メソッドに与えることで、このフルパスのファイルがあるディレクトリのフルパスが取得できます。
GetDirectoryName()メソッドの動作の詳細はこちらの記事を参照してください。
  string ExeDirPath = Path.GetDirectoryName(Application.ExecutablePath);
  textBox2.Text = ExeDirPath;

配置されているディレクトリの名称のみを取得する場合は、Path.GetFileName() メソッドを呼び出し、引数にディレクトリのパスを与えます。
GetFileName() メソッドの動作の詳細はこちらの記事を参照してください。
  string ExeDirName = Path.GetFileName(Path.GetDirectoryName(Application.ExecutablePath));
  textBox3.Text = ExeDirName;

実行結果

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


[button1] ボタンをクリックします。下図の結果が表示されます。
一番上のテキストボックスには実行ファイルのフルパスが表示されます。 2番目のテキストボックスにアプリケーションの実行ファイルがあるディレクトリのフルパスが表示されます。 一番下のテキストボックスには、実行ファイルが配置されるディレクトリのディレクトリ名のみが表示されます。


アプリケーション実行ファイルのディレクトリのパス、ディレクトリ名を取得できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2022-11-05
作成日: 2021-07-20
iPentec all rights reserverd.