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!
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
Hola, gracias por responder.
De casualidad conoce usted algun ejemplo de como hacer eso?
Saludos!
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:
- https://msdn.microsoft.com/en-us/library/aa242087(v=vs.60).aspx (https://msdn.microsoft.com/en-us/library/aa242087(v=vs.60).aspx)
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
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
hola lo podes hacer con Shell de windows, te paso un ejemplo en vbscript que es lo mismo para vb
http://naterice.com/zip-and-unzip-files-using-the-windows-shell-and-vbscript/
Saludos.
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!