如何查找文件夹是否是其他文件夹的子文件夹。代码应该识别" C:/ temp / abc / cde / xyz"是" C:/ temp"的子文件夹;夹。我尝试比较字符串,结果说" C:/ temp"是" C:/ temp1"的子文件夹;而且不是必需的。
由于
答案 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