Mein Hauptziel ist es zu überprüfen, ob ein Ordner in einer Zip-Datei existiert. Dafür versuche ich, durch die verschiedenen Dateien und Ordner zu gehen. Ich verwende den folgenden Code für das:Get Pfad eines Artikels in der Liste
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
Das Problem ist, ich kann nicht scheinen, um herauszufinden, wie Sie überprüfen können, welche Ebene bin ich auf.
Ich dachte darüber nach:
levelDepth = Len(strFile) - Len(Replace(strFile, "\", ""))
, die mir sagt, wie "tief" die Zip-Datei ist. Wenn ich den vollständigen Pfad von objItem
und objItem2
bekommen könnte, dann könnte ich die gleiche Methode verwenden. Subtrahieren Sie die beiden voneinander und erhalten Sie, wie tief in der ZIP-Datei das aktuelle Verzeichnis oder die Datei ist.
Bitte erläutern Sie die Antwort – Blip
Was gibt es zu "objItem.Path" zu erarbeiten? –
Yup ... Ich habe vor 2-3 Stunden eine Antwort gefunden, aber ich gebe dir das, weil es dasselbe ist. Ich fühle mich ein bisschen dumm, weil ich es vermisse. Danke, dass du dir die Zeit genommen hast, es zu beantworten. –