排除某些目录名称

时间:2015-07-08 15:10:47

标签: vb.net file-io directory contains directoryinfo

如何从目录中获取某些目录名称? 我目前有:

Dim dir1 As DirectoryInfo() = dir2.GetDirectories()

我尝试过以下示例的变体:

Dim dir1 As DirectoryInfo() = dir2.GetDirectories().Where(Name = Name.Contains("00000000.001"))

尝试从我将要在其余文件上运行的进程中排除两个文件名。任何建议都会很棒。谢谢!

编辑: Tim使用此代码提供的测试答案:

Dim direct1 As DirectoryInfo
For Each direct1 In dir1
        ListBox2.Items.Add(direct1.Name)
Next

它显示了我目前要避免的两个文件名。

1 个答案:

答案 0 :(得分:1)

你可以使用LINQ,因此我更喜欢DirectoryInfo.EnumerateDirectories

来自MSDN:

  

<select> <option value="11">apples</option> <option value="12">bananas</option> <option value="13">oranges</option> </select> EnumerateDirectories方法不同   如下:当您使用GetDirectories时,您可以开始   在整体之前枚举EnumerateDirectories个对象的集合   集合被退回。使用DirectoryInfo时,您必须等待   对于之前要返回的整个GetDirectories对象数组   你可以访问该阵列。

例如:

DirectoryInfo

如果您想要排除他们,请使用Dim dirs As DirectoryInfo() = dir2.EnumerateDirectories(). Where(Function(dir) dir.Name.Contains("00000000.001")). ToArray()

Not ...

如果您想要多次使用:

Dim dirs As DirectoryInfo() = dir2.EnumerateDirectories().
    Where(Function(dir) Not dir.Name.Contains("00000000.001")).
    ToArray()