4

假设我有一个不完整的路径字符串: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)。我怎样才能有效地获得可用路径?我是否必须拆分不完整的路径字符串/并测试文件夹是否可用或者是否有更好的方法?

4

1 回答 1

3

基本上,您想要做的是类似dir C:\dir\temp\f*. 在 .Net 中,您可以使用 . 来执行此操作Directory.GetDirectories(),但它需要您将完整路径拆分为路径和模式。为此,您可以使用Path类中的方法。因此,您的代码可能类似于:

Directory.GetDirectories(
    Path.GetDirectoryName(path), Path.GetFileName(path) + "*")

这将返回所有匹配目录的集合,因此您必须自己找出最匹配的目录。

于 2012-09-15T21:52:05.313 回答