Tutto sopra sol le utenze sono accurate ma non definitive.
Se si sta tentando di estrarre un file con zip in una cartella temporanea, verrà immediatamente creata una cartella che visualizza "Cartella temporanea per YOURFILE.zip" (in C: \ Documents and Settings \ USERNAME \ Impostazioni locali \ Temp) per CIASCUN FILE contenuto nel file zip, che si sta tentando di estrarre.
Esatto, se si dispone di 50 file, verranno create 50 cartelle all'interno della directory temporanea.
ma se avete 200 file, esso si fermerà a 99 e crash affermando - il file esiste
..
A quanto pare questo non si verifica in Windows 7, con i contributi ho vista sopra . Ma a prescindere, possiamo ancora avere degli assegni. Bene, questo è come lo aggiusti.
'========================
'Sub: UnzipFiles
'Language: vbscript
'Usage: UnzipFiles("C:\dir", "extract.zip")
'Definition: UnzipFiles([Directory where zip is located & where files will be extracted], [zip file name])
'========================
Sub UnzipFiles(folder, file)
Dim sa, filesInzip, zfile, fso, i : i = 1
Set sa = CreateObject("Shell.Application")
Set filesInzip=sa.NameSpace(folder&file).items
For Each zfile In filesInzip
If Not fso.FileExists(folder & zfile) Then
sa.NameSpace(folder).CopyHere(zfile), &H100
i = i + 1
End If
If i = 99 Then
zCleanup(file, i)
i = 1
End If
Next
If i > 1 Then
zCleanup(file, i)
End If
fso.DeleteFile(folder&file)
End Sub
'========================
'Sub: zCleanup
'Language: vbscript
'Usage: zCleanup("filename.zip", 4)
'Definition: zCleanup([Filename of Zip previously extracted], [Number of files within zip container])
'========================
Sub zCleanUp(file, count)
'Clean up
Dim i, fso
Set fso = CreateObject("Scripting.FileSystemObject")
For i = 1 To count
If fso.FolderExists(fso.GetSpecialFolder(2) & "\Temporary Directory " & i & " for " & file) = True Then
text = fso.DeleteFolder(fso.GetSpecialFolder(2) & "\Temporary Directory " & i & " for " & file, True)
Else
Exit For
End If
Next
End Sub
E questo è tutto, copiare e incollare le due funzioni nel vostro programma VBScript ospitato e si dovrebbe essere pronti per partire, su Windows XP & Windows 7.
Grazie!
@ Tester101 Contrassegna una delle risposte come risposta o rispondi autonomamente. Grazie –