如何使用Vb.net查找文件夹是否是另一个文件夹的子文件夹

时间:2016-01-14 23:39:34

标签: vb.net

如何查找文件夹是否是其他文件夹的子文件夹。代码应该识别" C:/ temp / abc / cde / xyz"是" C:/ temp"的子文件夹;夹。我尝试比较字符串,结果说" C:/ temp"是" C:/ temp1"的子文件夹;而且不是必需的。

由于

2 个答案:

答案 0 :(得分:0)

System.IO命名空间中,您找到Directory,其中包含一个功能:GetParent。所以在你放置之后:

Imports System.IO

在代码模块的最顶层,您可以检查目录(文件夹)结构。只是谷歌“Directory.GetParent”

答案 1 :(得分:0)

@Jeroen。这是我在提出所有建议后最终想出来的。这个对我有用。

   For Uindex = ListView1.Items.Count - 1 To 1 Step -1
        Dim uItem = ListView1.Items(Uindex)

        For dIndex = 0 To Uindex - 1 Step 1
            Dim dItem = ListView1.Items(dIndex)
            Dim SubItm, SubItmLst
            Dim RotItm, RotItmLst

            If dItem.Contains(uItem) Then
                SubItm = dItem
                SubItmLst = Split(dItem, Path.DirectorySeparatorChar)
                RotItm = uItem
                RotItmLst = Split(uItem, Path.DirectorySeparatorChar)
            ElseIf uItem.Contains(dItem) Then
                SubItm = uItem
                SubItmLst = Split(uItem, Path.DirectorySeparatorChar)
                RotItm = dItem
                RotItmLst = Split(dItem, Path.DirectorySeparatorChar)
            End If

            If Not (SubItm Is Nothing) Then
                If SubItmLst(RotItmLst.length - 1) = RotItmLst(RotItmLst.length - 1) Then

                    Dim MsgOut = MsgBox(SubItm & " is a sub folder of " & RotItm & vbCr & _
                            "Do you Want to remove this sub folder?", MsgBoxStyle.YesNo)

                    If MsgOut = MsgBoxResult.Yes Then
                        ListView1.Items.Remove(SubItm)
                        SubItm = Nothing
                        Exit For
                    End If
                End If
            End If
        Next
    Next