2017-02-22 16 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の完全なパスを得ることができたら、私は同じ方法を使うことができました。 2つをお互いに差し引いて、現在のディレクトリまたはファイルがどれくらい深くzipファイルにあるかを確認します。

答えて

1

Pathプロパティは、アイテムの完全なパスを提供する必要があります。

+1

答えを詳しく教えてください – Blip

+1

'objItem.Path'には何がありますか? –

+0

ええと...私は2-3時間前に答えを見つけましたが、同じですので、私はあなたにこれを与えています。私はそれを逃すために少しばかだと感じる。答える時間をとっていただきありがとうございます。 –

関連する問題