0

我想从网络共享驱动器上的 zip 文件中提取文件。然而,潜艇抛出了一个异常——VBScript runtime error: Object required: 'objTarget'

我这样称呼子:

Extract "\\driveName\Folder\Path\Here" & file, "\\driveName\Folder\Path\Here\Unzipped"

这很奇怪,因为要设置的代码可以objSource正常工作,但是当代码尝试设置时objTarget,它会出错。此外,当我指定本地驱动器时,它可以正常工作。我认为我必须进行一些修改才能使其正常运行(如果可能的话)。下面是子:

Sub Extract(ByVal myZipFile, ByVal myTargetDir)

    Dim intOptions, objShell, objSource, objTarget

    ' Create the required Shell objects
    Set objShell = CreateObject("Shell.Application")

    ' Create a reference to the files and folders in the ZIP file
    Set objSource = objShell.NameSpace(myZipFile).Items()

    ' Create a reference to the target folder
    Set objTarget = objShell.NameSpace(myTargetDir)

    intOptions = 4

    ' Unzip the files
    objTarget.CopyHere objSource, intOptions

    ' Release the objects
    Set objSource = Nothing
    Set objTarget = Nothing
    Set objShell  = Nothing
End Sub

有任何想法吗?谢谢!

4

3 回答 3

1

尝试引用网络路径。所以你的命令是:

Extract "\\driveName\Folder\Path\Here\" & file, """\\driveName\Folder\Path\Here\Unzipped"""
于 2013-02-01T22:50:41.863 回答
1

Other possible reason for that error:

If objTarget Is Nothing Then
    WScript.Echo "Target path not exist"
Else
    objTarget.CopyHere objSource, intOptions
End If
于 2013-02-02T15:56:58.070 回答
1

如果一切都失败了,您可以手动打开文件并删除 zip 标头。显然,zip 标头是几个字符和一个以 null 结尾的字符串,如果这些被删除,文件就会解压缩。 http://tek-tips.com/viewthread.cfm?qid=1302498有更多信息,大约在线程的一半。

于 2013-02-04T21:59:23.893 回答