code

OpenFileDialog 경로 / 파일 이름에서 경로 추출

codestyles 2020. 10. 14. 07:51
반응형

OpenFileDialog 경로 / 파일 이름에서 경로 추출


파일 선택으로 시작하는 작은 유틸리티를 작성 중입니다. 그런 다음 폴더를 선택해야합니다. 선택한 파일이 있던 폴더를 기본값으로 설정하고 싶습니다.

OpenFileDialog.FileName전체 경로 및 파일 이름을 반환합니다 -내가 원하는 것은 경로 부분 (sans 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);

이것은 어떤가요:

string fullPath = ofd.FileName;
string fileName = ofd.SafeFileName;
string path = fullPath.Replace(fileName, "");

if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
{
    strfilename = openFileDialog1.InitialDirectory + openFileDialog1.FileName;
}

FileDialog 대신 FolderBrowserDialog를 사용하고 OK 결과에서 경로를 가져올 수 있습니다.

FolderBrowserDialog browser = new FolderBrowserDialog();
string tempPath ="";

if (browser.ShowDialog() == DialogResult.OK)
{
  tempPath  = browser.SelectedPath; // prints path
}

여기에 간단한 방법이 있습니다!

string fullPath =openFileDialog1.FileName;
string directory;
directory = fullPath.Substring(0, fullPath.LastIndexOf('\\'));

참고 URL : https://stackoverflow.com/questions/439007/extracting-path-from-openfiledialog-path-filename

반응형