繁体   English   中英

如何获得根目录

[英]How to get the root directory

我有一个文件路径

D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt

如果我做

Path.GetDirectoryName(fileName)

我懂了

D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source

但我只想获取根目录,即"D:\\\\"

我怎么才能得到它?

NB〜是否可以不分割字符串?

使用框架提供的Path.GetPathRoot方法

获取指定路径的根目录信息

对于您的情况,您可以使用:

string rootPath = Path.GetPathRoot(filename);
String pathname= @"D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt";    
string root = Path.GetPathRoot(pathname); 

您很幸运,有几种方法可以完成相同的操作。 这是其中两个:

  1. Path.GetRootPath作为其他答案已经显示

  2. FileInfo类的DirectoryInfo.Root属性:

     var fileName= @"D:\\Accurev\\PPF6-AvailableToUse_Test_4_4\\eBizSol_App\\Source\\xyz.txt"; var file=new FileInfo(fileName); var root=file.Directory.Root; 

您可以为此使用Path.GetPathRoot方法。

  • 此方法获取指定路径的根目录信息。
  • 它返回路径的根目录,例如“ C:\\”;如果path为null,则返回null;如果path不包含根目录信息,则返回空字符串。

因此,您可以简单地使用string root = Path.GetPathRoot(fullFileName);

但是 ,此方法不能验证路径或文件名是否存在。

在MSDN上,此方法返回的字符串的可能模式如下:

  • 空字符串(路径指定了当前驱动器或卷上的相对路径)。
  • "/" (路径指定了当前驱动器上的绝对路径)。
  • "X:" (路径指定驱动器上的相对路径,其中X表示驱动器或卷号)。
  • "X:/" (路径指定了给定驱动器上的绝对路径)。
  • "\\\\ComputerName\\SharedFolder" (UNC路径)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM