Função VBScript CopyHere paralisada

Função VBScript CopyHere paralisada

Eu tenho um script para extrair o conteúdo de uma pasta .zip que não está funcionando (código no final da postagem, para referência). Eu crio uma pasta de destino, se ela não existir, e uso CopyHere para mover o conteúdo para a pasta de destino. O script é executado até o ponto em que cria uma pasta e parece travar durante a função CopyHere (nada é movido do arquivo zip). Observe que o processo do Windows Based Script Host está em execução indefinidamente neste momento e preciso encerrá-lo manualmente.

Parece ser algo específico da minha máquina, pois o script roda em uma máquina virtual que possuo, assim como nas máquinas de outros colegas de trabalho (todas x64 Windows 10 Professional).

Tenho privilégios totais no local para o qual estou tentando extrair, então não acredito que seja um problema de permissão. A única diferença entre as máquinas que consigo imaginar é que instalei o recurso Ubuntu-in-Windows para brincar. Talvez isso esteja causando um problema?

Que outras etapas posso seguir para descobrir por que o processo está paralisado?

Obrigado!

-Sean

Function unzip(sZip)

    Dim oFSO, oShell
    dim zip, d

    Set oFSO = CreateObject("Scripting.FileSystemObject")

    sZipFile = oFSO.GetAbsolutePathName(sZip)
    sDestPath = oFSO.GetAbsolutePathName(Left(sZip, Len(sZip) - 4))

    If Not oFSO.FolderExists(sDestPath) Then
        oFSO.CreateFolder(sDestPath)
    End If

    Set oShell = CreateObject("Shell.Application")
    Set zip = oShell.NameSpace(sZipFile)
    set d = oShell.NameSpace(sDestPath)

    MsgBox "Got here"

    d.CopyHere zip.items, 256

    Set oFSO = Nothing
    Set oShell = Nothing

End Function

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")

sPath = oFSO.GetParentFolderName(WScript.ScriptFullName)

sInstPath = sPath & "\dist\installers\"
aInsts = Array("4-AgilentIOLib.zip", "5-NationalInstrumentsLib.zip")

For i = 0 To UBound(aInsts)

    MsgBox "Unzipping " & sInstPath & aInsts(i)

    unzip(sInstPath & aInsts(i))

    MsgBox "Done"
Next

Responder1

CopyHereestá usando a 256opção, que éDisplay a progress dialog box but do not show the file names.
fonte

É possível que você esteja recebendo um aviso que não está vendo? Você está executando o script com wscript.exeou cscript.exe? Você está executando isso de forma interativa?

Você pode tentar com a opção 4não exibir uma caixa de diálogo de progresso? Você também pode tentar 16+256o que adicionariaRespond with "Yes to All" for any dialog box that is displayed.

Também executei o script e ele funcionou bem, mas quando o executei novamente, fui solicitado a substituir os arquivos existentes.

informação relacionada