VBscript relativen Pfad
Ich versuche, verwenden Sie das folgende Skript (Es wird mittels einer Batch-Datei) , entpacken von Dateien in Windows XP:
strZipFile ="C:\test.zip" 'name of zip file
outFolder = "C:\" 'destination folder of unzipped files
Set objShell = CreateObject( "Shell.Application" )
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions
Problem ist, wo ich Plane, es zu benutzen kann ich nicht wissen, den vollständigen Pfad der zip-Datei, alles, was ich bin, zu wissen, dass es in den gleichen Ordner wie die VBScript -, also, in diesem Sinne, wäre es möglich, rufen Sie es mit einem relativen Pfad? Beispiel:
strZipFile ="test.zip"
Diesem Beispiel nicht funktioniert, obwohl (Es gibt eine Fehlermeldung "Objekt erforderlich: 'objShell.NameSpace(...)' "), so meine ich natürlich etwas entlang jenen Linien, die funktionieren würde.
InformationsquelleAutor ShizukaSM | 2013-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
WScript.ScriptFullName und FSO.GetParentFolder sollte dein problem lösen:
Update-wrt Kiril Kommentar:
Beweise für die Antwort "ja":
Ausgabe:
ja, siehe update.
InformationsquelleAutor Ekkehard.Horner
Dies sollte erhalten Sie die zip-Datei vollständiger Pfad:
Es gibt mehr als einen Weg, um ein Skript für eine Katze! 😀
Beachten Sie, dass GetAbsolutePathName interpretiert wird ein relativer Pfad als relativ zum aktuellen Verzeichnis, während @Ekkehard.Horner-Lösung davon ausgegangen, dass es relativ zu dem Skript. Sie kann aber nicht immer das gleiche.
InformationsquelleAutor Keen