2012-07-10 106 views
2

我想從一個路徑封閉目錄:C#如何獲取目錄的名稱而不是路徑?

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

我得到的是完整路徑

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

而我需要的只是Plugins

我認爲我需要使用Substring,但我不確定在哪裏或如何。

回答

5

你可以使用DirectoryInfo求助:

​​
+0

這樣做更好,我正在嘗試做什麼,謝謝! – 2012-07-10 22:18:12

2

從你的路徑,你可以這樣做:

new FileInfo(fileName).Directory.Name 
2

其實,這樣做的一個快速的方法是:

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

相關問題