Introducir Archivos en ejecutable de WinRAR (Ayuda)

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
melvinhn
Hacker del Foro
Mensajes: 75
Registrado: 16 Jul 2011, 22:14
Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
Contactar:

Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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 2810 veces
Archivo.png
Archivo.png (61.87 KiB) Visto 2810 veces
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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!
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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:)
Avatar de Usuario
melvinhn
Hacker del Foro
Mensajes: 75
Registrado: 16 Jul 2011, 22:14
Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje por melvinhn »

arkcrew

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

muchas gracias por su apollo
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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:)
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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!
Adjuntos
7-zip.chm
Ayuda 7zip
(88.85 KiB) Descargado 79 veces
Avatar de Usuario
melvinhn
Hacker del Foro
Mensajes: 75
Registrado: 16 Jul 2011, 22:14
Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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!
Adjuntos
compresor.rar
adjuntos librerias y demas
(151.64 KiB) Descargado 87 veces
Avatar de Usuario
melvinhn
Hacker del Foro
Mensajes: 75
Registrado: 16 Jul 2011, 22:14
Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Introducir Archivos en ejecutable de WinRAR (Ayuda)

Mensaje 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.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder