0

pswd で保護された、抽出する 1000 個の zip ファイルがあります。.zip ファイルを読み取るたびに、pswd に各ファイルを要求します。すべてのファイルのpswdは同じです。したがって、一度だけ尋ねる必要があります。このコードは XP では非常にうまく機能しましたが、今は wondows7 ではすべてのファイルに対して pswd を要求します。

PLが役立ちます........

 pathToZipFile = "C:\Reco\SCRIPT\Filefinder\zip"  
    extractTo = "C:\Reco\SCRIPT\Filefinder\unzip"    
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder(pathToZipFile)
    Set fc = f.Files
    Dim myZipFile 
    Dim intOptions, objShell, objSource, objTarget
    Dim pwd
    pwd = "cola" 

    For Each f1 in fc
    On Error Resume Next

        myZipFile = f1

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

        '    Create a reference to the files and folders
        'Set objSource = objShell.NameSpace(pwd+myZipFile).Items( ) 
        Set objSource = objShell.NameSpace(myZipFile).Items( )

        '     Create a reference to the target folder
        Set objTarget = objShell.NameSpace(pwd+extractTo)
        Set objTarget = objShell.NameSpace(extractTo)
Set sh = CreateObject("WScript.Shell")
sh.Run "7za.exe x " & myZipFile & " -p" & pwd, 0, True
        intOptions = 256

        '     UnZIP the file
        objTarget.CopyHere objSource, intOptions

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



    Next
4

0 に答える 0