답변:
절대 경로가 있다면를 사용하십시오 Path.GetDirectoryName(path)
.
상대 이름 만 얻을 수있는 경우을 사용하십시오 new FileInfo(path).Directory.FullName
.
참고 그 Path
와 FileInfo
두 네임 스페이스에서 발견된다 System.IO
.
new FileInfo(path).Directory.FullName
두 경우 모두 작동해야 한다고 생각 합니다.
FileInfo
객체 로 작업하는 string
경우 DirectoryName
속성을 통해 디렉토리의 전체 경로를 쉽게 추출 할 수 있습니다.
FileInfo.DirectoryName
MSDN을 통한 부동산 설명 :
디렉토리의 전체 경로를 나타내는 문자열을 가져옵니다.
샘플 사용법 :
string filename = @"C:\MyDirectory\MyFile.bat";
FileInfo fileInfo = new FileInfo(filename);
string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"
MSDN 설명서에 연결하십시오 .
Path.GetFullPath
대부분의 경우에 사용할 수 있습니다 . 그러나 파일 이름이 상대적으로있는 경우에도 경로를 얻으려면 아래의 일반적인 방법을 사용할 수 있습니다.
string GetPath(string filePath)
{
return Path.GetDirectoryName(Path.GetFullPath(filePath))
}
예를 들면 다음과 같습니다.
GetPath("C:\Temp\Filename.txt")
반환 "C:\Temp\"
GetPath("Filename.txt")
current working directory
처럼 반환"C:\Temp\"
Path.GetDirectoryName (Context.Parameters [ "assemblypath"])
Path.GetDirectoryName
많은 다른 답변 (허용 된 답변 포함)에서 언급
@"C:\MyDirectory\MyFile.bat"