2017-02-22 167 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小時前找到了答案,但我給你這個,因爲它是一樣的。我感到有點愚蠢,因爲錯過了它。感謝您花時間回答。 –