ディレクトリの親ディレクトリを取得する [C#]

C#でディレクトリ(フォルダー)の親のディレクトリを取得する方法について紹介します。
ディレクトリの親ディレクトリを取得するには、System.IO名前空間のDirectoryInfoクラスのParentプロパティを使用するか、DirectoryクラスのGetParent静的メソッドなどを使用します。

DirectoryInfoクラスのParentプロパティで取得

DirectoryInfoクラスのParentプロパティの構文は次のようになります。

DirectoryInfo.Parentプロパティの使用例

以下にParentプロパティの使用例を示します。

DirectoryクラスのGetParent静的メソッドで取得

DirectoryクラスのGetParent静的メソッドの構文は次のようになります。

DirectoryクラスのGetParent静的メソッドには引数に存在を確認するディレクトリのパスを指定します。

Directory.GetParent静的メソッドの使用例

以下にGetParent静的メソッドの使用例を示します。

DirectoryInfoクラスのParentプロパティ、およびDirectoryクラスのGetParent静的メソッドは、指定したディレクトリに親のディレクトリがない場合(例えばCドライブ「C:\」を指定した場合)にはnullを返します。

サンプルプログラム

Windowsフォームアプリケーションでのプログラムの実装例を記載します。

ユーザーインターフェース

フォームのインターフェースは次のようにします。

親ディレクトリ取得サンプルフォームデザイン

ソースコード

サンプルプログラムのフォームには次のようなソースコードを記述します。

サンプルの実行

作成したプログラムを実行します。

親ディレクトリ取得サンプルフォーム

[button1]がDirectoryInfoクラスのParentプロパティで親のディレクトリを取得します。
[button2]がDirectoryクラスのGetParent静的メソッドで指定したパスの親のディレクトリを取得します。

Cドライブに[Test] > [ParentDir] > [ChildDir]の順にフォルダーを作成します。

親ディレクトリ取得用のフォルダーを作成

パスのテキストボックスに「C:\Test\ParentDir\ChildDir」を入力します。

親ディレクトリ取得サンプルフォームのパスを入力

[button1]をクリックします。

親ディレクトリ取得結果メッセージ

親ディレクトリが取得されてパスが表示されます。

[button2]をクリックします。

親ディレクトリ取得結果メッセージ

同様に親ディレクトリのパスが表示されます。

参考記事

指定したディレクトリ内のディレクトリを取得する方法については、以下の記事をご参照ください。

ディレクトリ内にあるディレクトリの一覧を取得する [C#]
C#でディレクトリ(フォルダー)の中にあるディレクトリの一覧を取得する方法について紹介します。 ディレクトリ内のディレクトリの一覧を取得す...