[VB6]Comprimir Carpetas y SubCarpetas sin necesidad de OCX o DLLs

Iniciado por Brian1511, 23 Enero 2016, 20:19 PM

0 Miembros y 1 Visitante están viendo este tema.

Brian1511

Hola.
estuve dias buscando esto pero no encuentro nada exacto!
Pido que no sea por OXC o DLLs porque algunas PC aveces no puenen registrarlo!



Creador de BrainMind

Eleкtro

Una opción sería utilizar la versión de WinRAR por linea de comandos (rar.exe/unrar.exe) o 7zip, de esta manera no tendrías problemas de ese tipo.

Saludos








Brian1511

Hola, gracias por responder.
De casualidad conoce usted algun ejemplo de como hacer eso?

Saludos!



Creador de BrainMind

Eleкtro

#3
Ejemplo de compresión:
RAR.exe a -r "Archivo destino.rar" "C:\Carpeta o archivo origen"

Ejemplo de descompresión:
UNRAR.exe x "Archivo origen.rar" "C:\Carpeta destino"

Para iniciar aplicaciones externas desde VB6 puedes utilizar la función Shell y ShellExecute:




Lee la ayuda command-line:

CitarRar /?

RAR 5.21   Copyright (c) 1993-2015 Alexander Roshal   15 Feb 2015
Registered to NiCkkkDoN

Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
              <@listfiles...> <path_to_extract\>

<Commands>
 a             Add files to archive
 c             Add archive comment
 ch            Change archive parameters
 cw            Write archive comment to file
 d             Delete files from archive
 e             Extract files without archived paths
 f             Freshen files in archive
 i[par]=<str>  Find string in archives
 k             Lock archive
 l[t[a],b]     List archive contents [technical[all], bare]
 m[f]          Move to archive [files only]
 p             Print file to stdout
 r             Repair archive
 rc            Reconstruct missing volumes
 rn            Rename archived files
 rr[N]         Add data recovery record
 rv[N]         Create recovery volumes
 s[name|-]     Convert archive to or from SFX
 t             Test archive files
 u             Update files in archive
 v[t[a],b]     Verbosely list archive contents [technical[all],bare]
 x             Extract files with full path

<Switches>
 -             Stop switches scanning
 @
  •          Disable [enable] file lists
     ac            Clear Archive attribute after compression or extraction
     ad            Append archive name to destination path
     ag[format]    Generate archive name using the current date
     ai            Ignore file attributes
     ao            Add files with Archive attribute set
     ap<path>      Set path inside archive
     as            Synchronize archive contents
     c-            Disable comments show
     cfg-          Disable read configuration
     cl            Convert names to lower case
     cu            Convert names to upper case
     df            Delete files after archiving
     dh            Open shared files
     dr            Delete files to Recycle Bin
     ds            Disable name sort for solid archive
     dw            Wipe files after archiving
     e
  • <attr>    Set file exclude and include attributes
     ed            Do not add empty directories
     en            Do not put 'end of archive' block
     ep            Exclude paths from names
     ep1           Exclude base directory from names
     ep2           Expand paths to full
     ep3           Expand paths to full including the drive letter
     f             Freshen files
     hp[password]  Encrypt both file data and headers
     ht[b|c]       Select hash type [BLAKE2,CRC32] for file checksum
     id[c,d,p,q]   Disable messages
     ieml[addr]    Send archive by email
     ierr          Send all messages to stderr
     ilog[name]    Log errors to file (registered versions only)
     inul          Disable all messages
     ioff          Turn PC off after completing an operation
     isnd          Enable sound
     k             Lock archive
     kb            Keep broken extracted files
     log[f][=name] Write names to log file
     m<0..5>       Set compression level (0-store...3-default...5-maximal)
     ma[4|5]       Specify a version of archiving format
     mc<par>       Set advanced compression parameters
     md<n>[k,m,g]  Dictionary size in KB, MB or GB
     ms[ext;ext]   Specify file types to store
     mt<threads>   Set the number of threads
     n<file>       Additionally filter included files
     n@            Read additional filter masks from stdin
     n@<list>      Read additional filter masks from list file
     o[+|-]        Set the overwrite mode
     oc            Set NTFS Compressed attribute
     oh            Save hard links as the link instead of the file
     oi[0-4][:min] Save identical files as references
     ol[a]         Process symbolic links as the link [absolute paths]
     or            Rename files automatically
     os            Save NTFS streams
     ow            Save or restore file owner and group
     p[password]   Set password
     p-            Do not query password
     qo[-|+]       Add quick open information [none|force]
     r             Recurse subdirectories
     r-            Disable recursion
     r0            Recurse subdirectories for wildcard names only
     ri<P>[:<S>]   Set priority (0-default,1-min..15-max) and sleep time in ms
     rr[N]         Add data recovery record
     rv[N]         Create recovery volumes
     s[<N>,v[-],e] Create solid archive
     s-            Disable solid archiving
     sc<chr>[obj]  Specify the character set
     sfx[name]     Create SFX archive
     si[name]      Read data from standard input (stdin)
     sl<size>      Process files with size less than specified
     sm<size>      Process files with size more than specified
     t             Test files after archiving
     ta<date>      Process files modified after <date> in YYYYMMDDHHMMSS format
     tb<date>      Process files modified before <date> in YYYYMMDDHHMMSS format
     tk            Keep original archive time
     tl            Set archive time to latest file
     tn<time>      Process files newer than <time>
     to<time>      Process files older than <time>
     ts<m,c,a>[N]  Save or restore file time (modification, creation, access)
     u             Update files
     v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]
     vd            Erase disk contents before creating volume
     ver[n]        File version control
     vn            Use the old style volume naming scheme
     vp            Pause before each volume
     w<path>       Assign work directory
     x<file>       Exclude specified file
     x@            Read file names to exclude from stdin
     x@<list>      Exclude files listed in specified list file
     y             Assume Yes on all queries
     z[file]       Read archive comment from file
    [/font]
CitarUnRAR /?

UNRAR 5.21 freeware      Copyright (c) 1993-2015 Alexander Roshal

Usage:     unrar <command> -<switch 1> -<switch N> <archive> <files...>
              <@listfiles...> <path_to_extract\>

<Commands>
 e             Extract files without archived paths
 l[t[a],b]     List archive contents [technical[all], bare]
 p             Print file to stdout
 t             Test archive files
 v[t[a],b]     Verbosely list archive contents [technical[all],bare]
 x             Extract files with full path

<Switches>
 -             Stop switches scanning
 @
  •          Disable [enable] file lists
     ac            Clear Archive attribute after compression or extraction
     ad            Append archive name to destination path
     ag[format]    Generate archive name using the current date
     ai            Ignore file attributes
     ap<path>      Set path inside archive
     c-            Disable comments show
     cfg-          Disable read configuration
     cl            Convert names to lower case
     cu            Convert names to upper case
     dh            Open shared files
     ep            Exclude paths from names
     ep3           Expand paths to full including the drive letter
     f             Freshen files
     id[c,d,p,q]   Disable messages
     ierr          Send all messages to stderr
     inul          Disable all messages
     ioff          Turn PC off after completing an operation
     kb            Keep broken extracted files
     n<file>       Additionally filter included files
     n@            Read additional filter masks from stdin
     n@<list>      Read additional filter masks from list file
     o[+|-]        Set the overwrite mode
     oc            Set NTFS Compressed attribute
     ol[a]         Process symbolic links as the link [absolute paths]
     or            Rename files automatically
     ow            Save or restore file owner and group
     p[password]   Set password
     p-            Do not query password
     r             Recurse subdirectories
     ri<P>[:<S>]   Set priority (0-default,1-min..15-max) and sleep time in ms
     sc<chr>[obj]  Specify the character set
     sl<size>      Process files with size less than specified
     sm<size>      Process files with size more than specified
     ta<date>      Process files modified after <date> in YYYYMMDDHHMMSS format
     tb<date>      Process files modified before <date> in YYYYMMDDHHMMSS format
     tn<time>      Process files newer than <time>
     to<time>      Process files older than <time>
     ts<m,c,a>[N]  Save or restore file time (modification, creation, access)
     u             Update files
     v             List all volumes
     ver[n]        File version control
     vp            Pause before each volume
     x<file>       Exclude specified file
     x@            Read file names to exclude from stdin
     x@<list>      Exclude files listed in specified list file
     y             Assume Yes on all queries

    [/font]
Saludos








fary

Te voy a contar un secreto  :-X

Windows tiene unas funciones de compresion que estan en todas sus versiones, a partir de Windows XP.

https://msdn.microsoft.com/en-us/library/windows/hardware/ff552127%28v=vs.85%29.aspx

saludos  :P
Un byte a la izquierda.

LeandroA


Brian1511

Muchas gracias a todos por responder, en serio lo aprecio mucho.
Pero debo comentarles que soy un poco Noob en esto, y pues no conozco todos los terminos de esta area.

Pensaba que existia algun ejemplo que me ayudara a hacer estos .ZIP con Visual Basic 6.

Corrijanme si estoy equivocado.


Gracias por sus respuestas!



Creador de BrainMind