假设我的路径字符串不完整:C:\dir\temp\f
我有以下文件系统:
C:\dir\
c:\dir\temp\
c:\dir\temp\foobar\
c:\dir\temp\foobar2\
c:\dir\temp\bar
我想确定目录的哪个部分是最匹配的。在此示例中,它将是c:\dir\temp\foobar\
,因为它以路径字符串开头(并且foobar
匹配优于foobar2
)。
我怎样才能有效地获得可用路径?我是否必须按/
拆分不完整的路径字符串,并测试文件夹是否可用或是否有更好的方法?
答案 0 :(得分:3)
基本上,你想要做的就像dir C:\dir\temp\f*
。在.Net中,您可以使用Directory.GetDirectories()
执行此操作,但它要求您将完整路径拆分为路径和模式。为此,您可以使用Path
类中的方法。所以,你的代码看起来像:
Directory.GetDirectories(
Path.GetDirectoryName(path), Path.GetFileName(path) + "*")
这将返回所有匹配目录的集合,因此您必须自己确定哪一个最匹配。