アプリケーション実行ファイルのディレクトリのパス、ディレクトリ名を取得するコードと実行結果を紹介します。
C#で現在実行しているプログラム(実行ファイル)があるディレクトリのパス、ディレクトリ名を取得するコードを紹介します。
ディレクトリパスやディレクトリ名の取得は、アプリケーションの実行ファイルのApplication.ExecutablePath
プロパティの値から取得します。
アプリケーションの実行ファイルは、Application.ExecutablePath
プロパティで取得できます。
ディレクトリ名は、Path.GetDirectoryName()
メソッドで取得できるため、この2つを組み合わせて実装します。
Windows Formアプリケーションを作成します。
下図の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番目のテキストボックスにアプリケーションの実行ファイルがあるディレクトリのフルパスが表示されます。
一番下のテキストボックスには、実行ファイルが配置されるディレクトリのディレクトリ名のみが表示されます。
アプリケーション実行ファイルのディレクトリのパス、ディレクトリ名を取得できました。