如何从文件的完整path获取目录?
获取文件所在目录的最简单方法是什么? 我用这个来设置一个工作目录。
string filename = @"C:\MyDirectory\MyFile.bat";
在这个例子中,我应该得到“C:\ MyDirectory”。
如果你肯定有一个绝对path,使用Path.GetDirectoryName(path)
。
如果您只能获取相对名称,请使用new FileInfo(path).Directory.FullName
。
请注意, Path
和FileInfo
都在名称空间System.IO
find。
System.IO.Path.GetDirectoryName(filename)
Path.GetDirectoryName(filename);
您可以使用System.IO.Path.GetDirectory(filename)
,或将path转换为FileInfo
,并使用FileInfo.Directory
。
如果你正在做其他的事情, FileInfo
可能会有优势。
您可以使用Path.GetDirectoryName
并传入文件名。
MSDN链接
使用下面提到的代码来获取文件夹path
Path.GetDirectoryName(filename);
这将返回“C:\ MyDirectory”在你的情况
如果您正在使用FileInfo
对象,则可以通过DirectoryName
属性提取目录完整path的string
表示forms。
通过MSDN FileInfo.DirectoryName
属性的说明:
获取表示目录完整path的string。
示例用法:
string filename = @"C:\MyDirectory\MyFile.bat"; FileInfo fileInfo = new FileInfo(filename); string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"
链接到MSDN文档 。
您可以使用以下命令获取当前的应用程
string AssemblyPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();
祝你好运!
首先,你必须使用System.IO命名空间。 然后;
string filename = @"C:\MyDirectory\MyFile.bat"; string newPath = Path.GetFullPath(fileName);
要么
string newPath = Path.GetFullPath(openFileDialog1.FileName));
对于大多数情况,您可以使用Path.GetFullPath
。 但是,如果你想获得的path也是在文件名相对位于的情况下,那么你可以使用下面的通用方法:
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\"