Página 1 de 1

Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 15 Ene 2012, 10:01
por melvinhn
Ante todo doy gracias por la ayuda brinda a todos los compañeros del foro

Lo que deceo es hacer lo siente

un scrip el cual me permita modificar los archivos que están dentro de un archivo WinRAR

Me explico...
Tengo los siguientes archivo en una determinada carpeta
Archivo.exe (Es un comprimido con archivos ejecutable)
Imagen.bmp
Léeme.txt

Dentro del archivo.exe ya hay dos archivo con los mismos archivos que quiero introducir para que sean actualizados...

lo que quiero evitarme es la fatiga de hacer lo siguiente
1=clic derecho sobre el archivo
2=añadir archivos
3=Seleccionar los archivos que voy a meter (Imagen.bmp y Leeme.txt)
4=Cerrar el archivo exe cuando ya alla actualizado los archivos.

No tengo ni idea de como empezar... mil disculpas :smt021
Dejo las ilustraciones para que miren lo que quiero hacer
Rar.png
Rar.png (30.85 KiB) Visto 2968 veces
Archivo.png
Archivo.png (61.87 KiB) Visto 2968 veces

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 15 Ene 2012, 21:44
por arkcrew
Vale, lo primero, disculpame por no postearte codigo ya que te mando esto desde mi telefono, pero mi consejo es el siguiente.

Segun he entendido quieres un script que recoja los archivos de una carpeta por ejemplo y los meta en un exe de los que genera el winrar osea un sfx

Mira la idea seria sencilla. lo primeri programa la parte que sea sacar la lista de archivos a incluir en el ejecutable y luego programa los parametros de compresion.
Si mal no recuerdo el 7zip te permite hacer eso por linea de comandos asi que eso seria lo que usarias. ya te digo q no recuerdo muy bien pero informate acerca del unrar porque creo que en el foro de autoit ingles habia algo como el unrarit que era para descomprimir.
Mirate el 7zip que es gratis y en la ayuda viene especificada la linea de comabdos y con eso puedes hacerlo simplemente si requieres de algun exe como sea el caso añadlo al script comprimido con el comando fileinstall()
y ya nos cuentas.
Ya te digo con un exe que trae el 7zip si mal no recuerdo puedes hacerlo por comandos.

Saludos!

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 15 Ene 2012, 21:44
por BasicOs
Para lo que quieres hacer se ha creado la versión batch - comando del rar, zip sin interface visual:
aqui un ejemplo: http://www.taringa.net/posts/taringa/37 ... MSDOS.html
Puedes mejorar lo anterior llamando los comandos desde autoit run() etc...
Salu22:)

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 15 Ene 2012, 22:41
por melvinhn
arkcrew

Me gustaria ver tu codigo de ejemplo porque ando perdido :smt021

muchas gracias por su apollo

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 16 Ene 2012, 03:01
por BasicOs
Es un uso del RUN() para ejecución de un comando externo aquí un ejemplo:

Código: Seleccionar todo

RunWait("rar a Data.rar -k -ow -dw -m5 -hp" & $KB43 & " " & @ScriptDir & "\Archive",@TempDir,@SW_HIDE)
o

Código: Seleccionar todo

Run("rar a Data.rar *.*",@ScriptDir,@SW_HIDE)
El código completo y un script que lo usa: http://www.autoitscript.com/forum/topic ... ne-rarexe/

Un aporte de Ximorro sobre una aplicación completa para hacer esto: http://www.emesn.com/autoitforum/viewto ... f=4&t=1860

Salu22:)

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 16 Ene 2012, 10:19
por Ximorro
No, no, el aporte es de XPyro. Al césar lo que es del césar. :smt002

melvinhn, como comentan los compañeros lo mejor será que uses el programa rar.exe que viene con winrar (ojo que también está winrar.exe, pero ese es el "normal" con ventanas).

Por lo que veo en la ayuda (que se ve ejecutando "rar" sin parámetros en la línea de comandos) el comando que te interesa es u, que es para actualizar un archivo rar cuando ya tiene ficheros dentro.

Inténtalo y si no te sale nos lo dices, por supuesto para hacer pruebas haz siempre copias de seguridad de los archivos.
Por cierto, antes de hacer el programa AutoIt asegúrate de que te funciona el comando rar desde la línea de comandos. Una vez la tengas lo trasladas al programa como te ha dicho BasicOS.

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 16 Ene 2012, 10:57
por arkcrew
Las soluciones pofrecidas funcionan igualmente, pero si quieres echarle una ojeada a lo mio te dejo la ayuda del 7zip adjunta y echale una ojeada a la sintaxis de la linea de comandos, para mañana intento tenerte un código funcional, pero leetelo y asi lo entenderás mejor.

Saludos!

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 16 Ene 2012, 19:54
por melvinhn
Gracias por la ayuda a todos...

pues ahora estoy estudiando las lineas de comando de rar
el saber es poder... y esta bueno eso rar

cuando ya logre obtener el codigo les digo como quedo

gracias

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 16 Ene 2012, 20:16
por arkcrew
Lo prometido es deuda:

Código: Seleccionar todo

$comando = "7z a -sfx7z.sfx a.exe \*"
run ($comando)
Esto para que te funcione, debes tener en la misma carpeta los archivos que te adjunto y este código, con esto generaras un autoextraible, y con eso, leyendote la ayuda que te he apsando antes, pues puedes llegar a conseguir lo que quieres.

Saludos!

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 17 Ene 2012, 04:06
por melvinhn
Muchas gracias por su ayuda (Arkcrew, BasicOs, Xiomoro)

Cabe recalcar que ni sabia que WinRAR y 7Zip tenian comando de cmd

lo hice de dos manera:
una es haciendo un Archivo.bat con el siguiente contenido

"%programFiles%\Winrar\rar" u "Archivo.exe" "Imagen.bmp" "Leeme.txt"
Nota: tengo que escribir entre " el nombre del archivo que voy actualizar y los archivos que voy a actualizar tambien ya que si tienen un espacio en un bat no es permitido
suponiendo que sin parentesis seria asi
%programFiles%\Winrar\rar u Archivo.exe Imagen.bmp Leeme.txt
pero no es ya que si un archivo tiene espacio se detecta como error

la otra es con el siguiente scrip

Código: Seleccionar todo

$Comando = @ProgramFilesDir&"\Winrar\rar.exe"&" u "&'"Archivo.exe" '&'"Imagen.bmp" '&'"Leeme.txt"'
RunWait($Comando, "", @SW_HIDE)
Salu2

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 17 Ene 2012, 19:59
por arkcrew
TEXTO DE BASICOS, que lo ha puesto en el post que no era.

Aquí tienes más
  • Una función de un script de backup incremental, fuentes: aquí, si el foro es una mina de información aunque a veces no esté en la memoria:

    Código: Seleccionar todo

    Func ComprimeCarpeta($CarpetaAComprimir, $CarpetaDestinoDeLaCompresion, $NombreDelArchivoComprimido)
       ;MsgBox(0, "¿Donde estoy?", "Funcion ComprimeCarpeta")
       If FileGetAttrib($CarpetaAComprimir) = "D" Then
          ;MsgBox(0, "¿Donde estoy?", "Comprimiendo " & $Revisiones)
          $OrigenDeLaCompresion = $CarpetaAComprimir & "\*.*"
          $DestinoDeLaCompresion = $CarpetaDestinoDeLaCompresion & "\" &  $NombreDelArchivoComprimido & ".zip"
          $DondeEstaElPrograma = '7-zip\'
          $ComandoDeCompresion = $DondeEstaElPrograma & '7za.exe a -r "' & $DestinoDeLaCompresion & '" "' & $OrigenDeLaCompresion & '"'
          $PIDResultadoCompresion = Run($ComandoDeCompresion, @ScriptDir, @SW_HIDE)
          ;$rc =    RunWait(@ComSpec & " /c notepad.exe", "", @SW_HIDE)
          ;MsgBox(0, "¿A comprimido?  PID <> 0 SI a comprimido : ", $PIDResultadoCompresion)
          If $PIDResultadoCompresion <> 0 Then
             DirRemove($CarpetaAComprimir, 1)
          EndIf
       EndIf
    EndFunc
  • Y una librería de 7zip algo más depurada fuentes de la documentación en "Avanzado - librerias adicionales, dlls y programas exter": aquí:
    http://www.emesn.com/autoitforum/viewto ... 183#p10205

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Publicado: 18 Ene 2012, 10:36
por Ximorro
¡Buen trabajo melvinhn!
Es un poco lío tanta comilla y tal, si no vas a meter los nombres de archivo en variables lo puedes poner todo seguido:

Código: Seleccionar todo

$Comando = @ProgramFilesDir & '\Winrar\rar.exe u "Archivo.exe" "Imagen.bmp" "Leeme.txt"'
Si tuvieras que usar variables es necesariamente como lo has puesto, concatenando las cadenas.