C#如何获取目录的名称而不是路径?

问题描述:

我想从一个路径封闭目录:C#如何获取目录的名称而不是路径?

DsVersions.ASSEMBLY2Row row = dsVersions.ASSEMBLY2.NewASSEMBLY2Row(); 
row.FOLDER = Path.GetDirectoryName(fileName); 

我得到的是完整路径

@"C:\Program Files (x86)\EdisonFactory\NetOffice\Plugins" 

而我需要的只是Plugins

我认为我需要使用Substring,但我不确定在哪里或如何。

你可以使用DirectoryInfo求助:

​​
+0

这样做更好,我正在尝试做什么,谢谢! – 2012-07-10 22:18:12

从你的路径,你可以这样做:

new FileInfo(fileName).Directory.Name 

其实,这样做的一个快速的方法是:

row.Folder = Path.GetFileName(Path.GetDirectoryName(filename)); 

GetFileName只是获取最后一个分隔符后的最后一个字符串。

+0

除非'GetDirectoryName'返回'C:'。 – user7116 2012-07-10 22:15:20

+0

@sixlettervariables'GetDirectoryName'不会返回值'C:'如果有问题的文件是'C:\ MyFile.tmp','GetDirectoryName'返回'C:\'和'GetFileName'然后返回一个空字符串。 – 2012-07-10 22:21:48

+1

你说得对,它返回“C:\”,但我的意思是指出现在'row.FOLDER'不再有文件夹了(即它不指向任何地方,只是一个空字符串)。 – user7116 2012-07-10 22:24:05