Visual Basic 6: cómo extraer todos los archivos comprimidos en una carpeta
Aquí hay un ejemplo de código en Visual Basic 6 que te permite extraer cíclicamente todos los archivos comprimidos contenidos en una carpeta.
A menudo tiene muchos archivos comprimidos, quizás grandes, para extraer y para evitar perder mucho tiempo, puede ejecutar este script en VB6 para extraer y descomprimir el contenido de sus archivos comprimidos.
Cómo extraer todos los archivos comprimidos presentes en una carpeta en VB6
Todo lo que tiene que hacer es indicar la ruta de los archivos comprimidos en sDirectory y la ruta de los archivos extraídos en sDirectoryNuevo. Por supuesto, puede personalizar el script insertando un InputBox para darle al usuario la posibilidad de insertar las rutas o cambiar las extensiones de los archivos contenidos en los archivos zip. A ti la elección.
Buen codigo!
Sub privado Form_Load ()
Atenuar FirstPath como cadena
contador = 1
sDirectory = «E: CC_MOVES 2014 «
sDirectoryNew = «E: CC_MOVES para cargar «
Archivos ReDim (0)
stemp = Dir $ (sDirectory)
Hacer hasta stemp = «»
Si stemp <> «.» Y stemp <> «..» Y GetAttr (sDirectory & stemp) <> vbDirectory Luego
ReDim Preserve Files (UBound (archivos) + 1)
Archivos (UBound (Archivos)) = stemp
DefPath = sDirectory
Si Right (Trim (stemp), 4) = «.zip» O Right (Trim (stemp), 4) = «.ZIP» Entonces
‘extraer los archivos
Fname = sDirectory & stemp
‘Application.GetOpenFilename (filefilter: = «Archivos Zip (* .zip), * .zip», MultiSelect: = False)
‘
Si Fname = False entonces
‘Hacer nada
Demás
‘Carpeta raíz de la nueva carpeta.
‘También puede usar DefPath = «C: Users Ron test «
‘DefPath = Application.DefaultFilePath
Si es Derecha (DefPath, 1) <> “” Entonces
DefPath = DefPath & «»
Terminara si
‘Crea el nombre de la carpeta
‘strDate = Format (ahora, «dd-mm-aa h-mm-ss»)
‘FileNameFolder = DefPath & «MyUnzipFolder» & strDate & «»
FileNameFolder = DefPath
‘Hacer la carpeta normal en DefPath
‘MkDir FileNameFolder
‘Extraiga los archivos en la carpeta recién creada
Establecer oApp = CreateObject («Shell.Application»)
‘Cambie este «* .txt» para extraer los archivos que desee
Para cada fileNameInZip en oApp.Namespace (Fname) .items
Si LCase (fileNameInZip) Like LCase («*. Txt») Entonces
FirstPath = sDirectoryNew & stemp & «.txt»
Si ExistFile (FirstPath) = False Entonces
oApp.Namespace (FileNameFolder) .CopyHere _
oApp.Namespace (Fname) .items.Item (CStr (fileNameInZip))
‘insertar pausa
‘Application.Wait Now + TimeValue («00:00:05»)
‘Si InStr (fileNameInZip, «daily»)> 0 Entonces
comprobar si ya existe
‘si Fname
Nombre sDirectory & fileNameInZip como sDirectoryNew & stemp & «.txt»
contador = contador + 1
Terminara si
‘Terminara si
Terminara si
Próximo
‘MsgBox «Encuentra los archivos aquí:» & FileNameFolder
En caso de error, reanudar siguiente
Establecer FSO = CreateObject («scripting.filesystemobject»)
FSO.deletefolder Environ («Temp») y » Directorio temporal *», verdadero
Terminara si
Demás
‘Salir Hacer
Terminara si
Terminara si
stemp = Dir ()
Lazo
Lista de archivos = Archivos
FSO.Close
oApp.Close
Establecer FSO = Nada
Establecer oApp = Nada
End Sub
Función ExistFile (NomeFile como cadena) como booleano
En caso de error, reanudar siguiente
ExistFile = (GetAttr (nombre de archivo) y vbDirectory) = 0
Función final