1. ホーム
  2. c#

[解決済み] OpenFileDialogのpath/filenameからpathを抽出する。

2023-05-30 08:51:56

質問

ファイルを選択することから始まる小さなユーティリティを書いていて、次にフォルダーを選択する必要があります。私は、選択されたファイルがあった場所にフォルダをデフォルトにしたいと思います。

OpenFileDialog.FileName フルパス & ファイル名 - を取得したいのですが、そのためには パス部分 (ファイル名なし) を取得し、それを最初の 選択されたフォルダー .

    private System.Windows.Forms.OpenFileDialog ofd;
    private System.Windows.Forms.FolderBrowserDialog fbd;
    ...
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        string sourceFile = ofd.FileName;
        string sourceFolder = ???;
    }
    ...
    fbd.SelectedPath = sourceFolder; // set initial fbd.ShowDialog() folder
    if (fbd.ShowDialog() == DialogResult.OK)
    {
       ...
    }

これを行うための.NETのメソッドはありますか? regex, split, trim, などを使う必要があるのでしょうか?

どのように解決するのですか?

この場合 Path クラスから System.IO . ファイルパスを操作するための便利な呼び出しが含まれています。 GetDirectoryName これは、ファイルパスのディレクトリ部分を返すものです。

使い方は簡単です。

string directoryPath = Path.GetDirectoryName(filePath);