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

3
考虑这样的情况
根目录 |-----a |-----b (当前文件夹) |-----c |-----等等...
- 当前文件夹是 b - 我们需要找到与 b 在同一层级的所有文件夹。 - 换句话说,最好的方法是获取 'a' 和 'c' 是什么?
2个回答

3

系统独立:

  • 将当前文件夹保存在一个临时变量中。
  • cd到上一层目录,以便您在这个示例中位于根目录。
  • 列出所有文件夹。这应该会给你 a,b,c,d...
  • 将列表放入适当的数据结构中。
  • 从该数据结构中删除您在第一步中存储的文件夹(因为您只需要兄弟姐妹,而不是起始文件夹本身)。

谢谢回答。但那些是基本步骤。我想知道是否建议使用递归或Windows API调用来实现此目的。 - Question Guy

2
我会像@jstarek一样跟随步骤,但会放弃第二步。
获取文件夹b的完整路径,从路径中删除文件夹b,在该路径中列出目录,并从结果集中排除文件夹b。
如果您想获取更具体于编程语言的信息,请引用您正在使用的语言。您提到了WinForms,所以我猜它将是.Net?如果是这样,.Net框架已经有了设计完成此任务的类。
编辑:
如果您正在使用.Net,请查看DirectoryInfo类。它有一个GetDirectories方法,可以非常容易地列出给定目录下的目录。它还有搜索等重载。
过去我使用过它时,如果运行程序的用户没有对相关文件夹的权限,则可能会引发异常。
以下是DirectoryInfo GetDirectory方法示例链接:http://msdn.microsoft.com/en-us/library/s7xk2b58.aspx#Y798

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接