如何从文件的完整path获取目录?
获取文件所在目录的最简单方法是什么? 我用这个来设置一个工作目录。
string filename = @"C:\MyDirectory\MyFile.bat";
在这个例子中,我应该得到“C:\ MyDirectory”。
如果你肯定有一个绝对path,使用Path.GetDirectoryName(path) 。
如果您只能获取相对名称,请使用new FileInfo(path).Directory.FullName 。
请注意, Path和FileInfo都在名称空间System.IOfind。
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\"