获取文件所在目录的最简单方法是什么? 我正在使用它来设置工作目录。
string filename = @"C:\MyDirectory\MyFile.bat";
在这个例子中,我应该得到“C:\\ MyDirectory”。
#1楼
如果您正在使用FileInfo
对象,则可以通过DirectoryName
属性轻松提取目录的完整路径的string
表示形式。
通过MSDN描述FileInfo.DirectoryName
属性:
获取表示目录的完整路径的字符串。
样品用法:
string filename = @"C:\MyDirectory\MyFile.bat";
FileInfo fileInfo = new FileInfo(filename);
string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"
链接到MSDN文档 。
#2楼
首先,您必须使用System.IO命名空间。 然后;
string filename = @"C:\MyDirectory\MyFile.bat";
string newPath = Path.GetFullPath(fileName);
要么
string newPath = Path.GetFullPath(openFileDialog1.FileName));
#3楼
使用下面提到的代码来获取文件夹路径
Path.GetDirectoryName(filename);
在您的情况下,这将返回“C:\\ MyDirectory”
#4楼
您可以使用以下方式获取当前的Application Path:
string AssemblyPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();
祝好运!
#5楼
在大多数情况下,您可以使用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\\"
#6楼
在我的情况下,我需要找到一个完整路径(目录)的目录名称,所以我只是做了:
var dirName = path.Split('\\').Last();
#7楼
如果您确实有绝对路径,请使用Path.GetDirectoryName(path)
。
如果您可能只获得相对名称,请使用new FileInfo(path).Directory.FullName
。
请注意, Path
和FileInfo
都在命名空间System.IO
找到。
#8楼
Path.GetDirectoryName(filename);
#9楼
您可以使用Path.GetDirectoryName
并传入文件名。
#10楼
System.IO.Path.GetDirectoryName(filename)
#11楼
您可以使用System.IO.Path.GetDirectory(filename)
,或将路径转换为FileInfo
,并使用FileInfo.Directory
。
如果您正在使用路径执行其他操作,则FileInfo
可能具有优势。