获取文件所在目录的最简单方法是什么?我用它来设置一个工作目录。
string filename = @"C:\MyDirectory\MyFile.bat";
在这个例子中,我应该得到“C:\MyDirectory”。
获取文件所在目录的最简单方法是什么?我用它来设置一个工作目录。
string filename = @"C:\MyDirectory\MyFile.bat";
在这个例子中,我应该得到“C:\MyDirectory”。
当前回答
您可以使用Path。大多数情况下GetFullPath。 但是如果你想在文件名相对位置的情况下获得路径,那么你可以使用下面的泛型方法:
string GetPath(string filePath)
{
return Path.GetDirectoryName(Path.GetFullPath(filePath))
}
例如:
GetPath("C:\Temp\Filename.txt")返回"C:\Temp\"
GetPath("Filename.txt")返回当前工作目录,如"C:\Temp\"
其他回答
首先,你必须使用系统。IO命名空间。然后;
string filename = @"C:\MyDirectory\MyFile.bat";
string newPath = Path.GetFullPath(fileName);
or
string newPath = Path.GetFullPath(openFileDialog1.FileName));
System.IO.Path.GetDirectoryName(filename)
您可以使用以下命令获取当前应用程序路径:
string AssemblyPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();
在我的情况下,我需要找到一个完整路径(目录)的目录名,所以我简单地做:
var dirName = path.Split('\\').Last();
你可以使用System.IO.Path.GetDirectoryName(fileName),或者使用FileInfo. directory将路径转换为FileInfo。
如果要对路径做其他事情,FileInfo类可能有优势。