C#ファイルパスからディレクトリ名を取得する

スポンサーリンク

ファイルパスからディレクトリ名 (フォルダ名) を取得するには、System.IO.Path クラスの GetDirectoryName メソッドを使用します。

サンプルコード

以下にサンプルコードを示します。

C# 全般
    // 親ディレクトリ名 (フォルダ名) を取得する
    string stParentName = System.IO.Path.GetDirectoryName(@"C:\Hoge\Foo.txt");

    // 親ディレクトリ名 (フォルダ名) を表示する
    MessageBox.Show(stParentName);

ファイルパスから DirectoryInfo を取得するには、System.IO.Directory クラスの GetParent メソッドを使用します。

C# 全般
    // 指定したパスから親ディレクトリの DirectoryInfo を取得する
    System.IO.DirectoryInfo hDirInfo = System.IO.Directory.GetParent(@"C:\Hoge\Foo.txt");

    // 親ディレクトリの名前を表示する
    MessageBox.Show(hDirInfo.FullName)

FileInfo から親ディレクトリの DirectoryInfo を取得するには、そのインスタンスから Directory プロパティを参照します。

C# 全般
    // FileInfo の新しいインスタンスを生成する
    System.IO.FileInfo cFileInfo = new System.IO.FileInfo(@"C:\Hoge\Foo.txt");

    // FileInfo から親ディレクトリの DirectoryInfo を取得する
    System.IO.DirectoryInfo hDirInfo = cFileInfo.Directory;

    // 親ディレクトリの名前を表示する
    MessageBox.Show(hDirInfo.FullName);

DirectoryInfo から親ディレクトリの DirectoryInfo を取得するには、そのインスタンスから Parent プロパティを参照します。

C# 全般
    // DirectoryInfo の新しいインスタンスを生成する
    System.IO.DirectoryInfo hDirInfoBar = new System.IO.DirectoryInfo(@"C:\Hoge\Bar\");

    // DirectoryInfo から親ディレクトリの DirectoryInfo を取得する
    System.IO.DirectoryInfo hDirInfo = hDirInfoBar.Parent;

    // 親ディレクトリの名前を表示する
    MessageBox.Show(hDirInfo.FullName);

また、親ディレクトリ名だけならば、FileInfo のインスタンスから DirectoryName プロパティを参照することで可能です。

C# 全般
    // FileInfo の新しいインスタンスを生成する
    System.IO.FileInfo cFileInfo = new System.IO.FileInfo(@"C:\Hoge\Foo.txt");

    // FileInfo から親ディレクトリの名前を取得する
    string stParentName = cFileInfo.DirectoryName;

    // 親ディレクトリの名前を表示する
    MessageBox.Show(stParentName);

関連するリファレンス

準備中です。

スポンサーリンク