我有这样的道路
Path = C:\Users\cyberbemon\Documents\Development\Image tool\sources\AL001\2014-05-17\ImageTool\output.xml
Run Code Online (Sandbox Code Playgroud)
我想提取文件夹名称2014-05-17,AL001它们稍后将用作文件名,例如:140517-AL001.xml.
问题是路径是动态的,所以不是2014-05-17和AL001我能有这样的事情不同的2012-05-17和AL401.一件事保持不变ImageTool\output.xml
那么什么是C#的等价物 GetParentof(GetParentof(\ImageTool\output.xml))
环顾四周时,我遇到了这个New DirectoryInfo(Path).Name对我来说返回ImageTool,这对我没用.
如果可以保证总有3个目录级别
string p = @"C:\Users\cyberbemon\Documents\Development\Image tool\sources\AL001\2014-05-17\ImageTool\output.xml";
DirectoryInfo di = new DirectoryInfo(p);
string p1 = di.Parent.Parent.Name;
string p2 = di.Parent.Parent.Parent.Name;
Run Code Online (Sandbox Code Playgroud)
DirectoryInfo类的Parent属性是另一个DirectoryInfo,因此只需将适当数量的递归调用放置到Parent
我应该注意,DirectoryInfo如果你在它的构造函数中传递一个文件,该类也可以工作.如果您想坚持字符串的确切性质,那么您可以使用FileInfo类并使用以下命令恢复父DirectoryInfo:
FileInfo fi = new FileInfo(p);
string p1 = fi.Directory.Parent.Name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |