获取兄弟文件夹的最佳方法

时间:2011-12-25 04:06:40

标签: winforms algorithm directory

考虑像这样的场景

| -----一

| ----- b (当前文件夹)

| -----ç

| -----等...

  • 当前文件夹 b
  • 我们需要找到与 b 相同级别的所有文件夹。
  • 换句话说,获得“ a ”和“ c ”的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

独立于系统:

  • 将当前文件夹存储在某个临时变量中。
  • cd向上,因此,在您的示例中,您位于根文件夹
  • 列出那里的所有文件夹。这应该为您提供 a b c d ......
  • 将该列表放在一些合适的数据结构中。
  • 从所述数据结构中删除您在第一步中存储的文件夹(因为您只需要兄弟姐妹,而不是起始文件夹本身)。

答案 1 :(得分:2)

我会按照类似于@jstarek的步骤进行操作,但我会删除第二个步骤。

获取文件夹b的完整路径,从路径中删除文件夹b,列出该路径中的目录,并从结果集中排除文件夹b。

如果您想要更具体的编程语言信息,请引用您正在使用的信息。你提到WinForms所以我猜它会是.Net?如果是这样,.Net框架已经有了用于完成此任务的类。

编辑:

如果您正在使用.Net,请查看DirectoryInfo类。它有一个GetDirectories方法,允许您非常轻松地列出给定目录下的目录。它也有重载搜索等。

当我过去使用过此版本时,如果运行该程序的用户对该文件夹没有权限,则可能会引发异常。

以下是DirectoryInfo GetDirectory方法示例的链接:http://msdn.microsoft.com/en-us/library/s7xk2b58.aspx#Y798