2017-02-22 200 views
0

我的主要目标是检查一个文件夹是否存在于一个zip文件中。 为此,我试图通过各种文件和文件夹。我使用以下代码:获取列表中项目的路径

strFile = "C:\Users\temp.zip" 
Set objApp = CreateObject("Shell.Application") 
Set objContents = objApp.NameSpace(strFile).Items() 

For Each objItem in objContents 
    WScript.Echo objItem.Name 
    If objItem.IsFolder Then 
     GetSubFolders(objItem) 
    End If 
Next 

Sub GetSubFolders(objSubItem) 
    Set objFolder = objSubItem.GetFolder 

    For Each objItem2 in objFolder.Items() 
     WScript.Echo objItem2.Name 
     If objItem2.IsFolder Then 
      GetSubFolders(objItem2) 
     End If 
    Next 
End Sub 

问题是我似乎无法弄清楚,如何检查我在哪个级别上。

我想到这个问题:

levelDepth = Len(strFile) - Len(Replace(strFile, "\", "")) 

还告诉我, “深” 的zip文件是如何。如果我能得到objItemobjItem2的完整路径,那么我可以使用相同的方法。将两者相减并获得当前目录或文件在zip文件中的深度。

回答

1

Path属性应该给你一个项目的完整路径。

+1

请详细解答 – Blip

+1

有什么要详细说明objItem.Path? –

+0

是...我在2-3小时前找到了答案,但我给你这个,因为它是一样的。我感到有点愚蠢,因为错过了它。感谢您花时间回答。 –