VBScript CopyHere 기능 정지

VBScript CopyHere 기능 정지

작동하지 않는 .zip 폴더의 내용을 추출하는 스크립트가 있습니다(참조용 게시물 하단의 코드). 대상 폴더가 없으면 생성한 다음 CopyHere를 사용하여 내용을 대상 폴더로 이동합니다. 스크립트는 폴더를 생성하는 지점까지 실행된 다음 CopyHere 기능 중에 정지된 것처럼 보입니다(zip 파일에서 아무것도 이동되지 않음). 현재 Windows 기반 스크립트 호스트 프로세스는 무기한 실행 중이므로 수동으로 종료해야 합니다.

스크립트가 내가 가지고 있는 가상 머신과 다른 동료의 머신(모두 x64 Windows 10 Professional)에서 실행되기 때문에 내 머신에 특정한 문제가 있는 것 같습니다.

추출하려는 위치에 대한 모든 권한이 있으므로 권한 문제가 아니라고 생각합니다. 내가 생각할 수 있는 컴퓨터 간의 유일한 차이점은 놀기 위해 Ubuntu-in-Windows 기능을 설치했다는 것입니다. 그게 문제를 일으키는 게 아닐까요?

프로세스가 지연되는 이유를 알아내기 위해 어떤 다른 조치를 취할 수 있습니까?

감사해요!

-션

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

답변1

CopyHere옵션 을 사용하고 있습니다 256.Display a progress dialog box but do not show the file names.
원천

표시되지 않는 메시지가 표시될 가능성이 있나요? wscript.exe또는 를 사용하여 스크립트를 실행하고 있습니까 cscript.exe? 대화형으로 실행하고 있나요?

4진행률 대화 상자를 표시하지 않도록 옵션을 사용해 볼 수 있습니까 ? 16+256다음을 추가해 볼 수도 있습니다.Respond with "Yes to All" for any dialog box that is displayed.

또한 스크립트를 실행했는데 제대로 작동했지만 다시 실행했을 때 기존 파일을 덮어쓰라는 메시지가 표시되었습니다.

관련 정보