Página 1 de 1

Ejecutar progama con linea de comandos - Se puede ?

Publicado: 01 Sep 2010, 02:06
por compusers
Que tal yo de nuevo con una duda mas pero en esta si no tengo nada de codigo por que no se me ocurre como hacerle, les expongo un poco lo que quiero hacer, mi idea es agregarle funciones extras a un emulador de super nintendo por ejemplo ( funciones extras como los cheats (trucos) o alguna otra funcion ) pero dado que no me quiero meter mucho en cuestiones de la emulacion se me ocurre hacer lo siguiente algun programita que corra el emulador ( snes.exe) y el nombre de la rom por la linea de comandos por ejemplo para correr el juego de mario el emulador necesita la siguiente linea de comandos

Código: Seleccionar todo

snes c:\roms\mario.smc
entonces lo que me interesa es hacer una especio de variable por asi llamarla no se si sea la manera correcta de expresarme para que si yo ejecuto mi programa un espacio y despues la ruta de la rom

Código: Seleccionar todo

 progama c:\roms\mario.smc 
el programa ejecute las funciones de los cheats y ejecute la linea de comandos para correr el emulador y la variable que quedo despues del espacio del programa, espero que me entiendad o si alguien sabe como ejecutar por ejemplo el progama espacio y un numero X (Variable) y que este busque en un .ini para saber que ruta seguir para el juego pues estaria mejor, muchas gracias :smt023

Re: Ejecutar progama con linea de comandos - Se puede ?

Publicado: 01 Sep 2010, 06:40
por Jonny
Hola

Puedes hacer lo que quieres sin problema.

Tienes que usar @Comspec para ello:

Código: Seleccionar todo

Run(@Comspec&" /c snes c:\roms\mario.smc", "", @SW_HIDE)
Por ejemplo.

Te ejecutará el comando con la consola oculta....

Salu2!

Re: Ejecutar progama con linea de comandos - Se puede ?

Publicado: 01 Sep 2010, 19:01
por Chefito
Si lo que quieres es poder pasarle a tu programa parámetros desde la línea de comandos, busca en el índice de la ayuda de AutoIt Command Line Parameters. Hay te explica muy bien como hacerlo.
Dice que puedes utilizar las variables $CmdLine y $CmdLineRaw para recuperar estos parámetros.

SCmdLine devuelve los parámetros en una matriz de elementos. El primer elemento (elemento 0) indica el número de elementos que le has pasado. Estos parámetros deben de estar separados por espacios. Si quieres pasar un parámetro que contiene espacios, lo debes pasar entre comillas dobles.

$CmdLineRaw devuelve los parámetros en una sola línea de texto. Después te tocará tratar esta línea de texto si quieres separar los parámetros, por ejemplo con la función StringSplit.

Saludos.

Re: Ejecutar progama con linea de comandos - Se puede ?

Publicado: 02 Sep 2010, 08:41
por Ximorro
Incluso lo que dices de buscar datos en un INI es muy fácil en AutoIT, hay funciones específicas para ello que lo hacen bastante cómodo: busca IniRead, también se pueden crear y modificar con IniWrite, y hay otros para manejar secciones enteras y cosas así...

Por cierto, respecto a tu firma.... Si el Sabio CAYA, no será muy sabio... :smt003

Re: Ejecutar progama con linea de comandos - Se puede ?

Publicado: 02 Sep 2010, 16:52
por compusers
Ximorro escribió: Por cierto, respecto a tu firma.... Si el Sabio CAYA, no será muy sabio... :smt003
Gracias Ximorro con respecto a lo del ini ya tengo creado un archivo lo que quiero hacer es por medio de la linea de comando que lea el .ini y sepa que hacer pero hay que hacer pruebas y comentaremos y sobre mi firma esa frace la encontre en internet y solo la puse en la firma proximamente la cambiare :smt023

Re: Ejecutar progama con linea de comandos - Se puede ?

Publicado: 02 Sep 2010, 16:53
por compusers
Chefito escribió:Si lo que quieres es poder pasarle a tu programa parámetros desde la línea de comandos, busca en el índice de la ayuda de AutoIt Command Line Parameters. Hay te explica muy bien como hacerlo.
Dice que puedes utilizar las variables $CmdLine y $CmdLineRaw para recuperar estos parámetros.

SCmdLine devuelve los parámetros en una matriz de elementos. El primer elemento (elemento 0) indica el número de elementos que le has pasado. Estos parámetros deben de estar separados por espacios. Si quieres pasar un parámetro que contiene espacios, lo debes pasar entre comillas dobles.

$CmdLineRaw devuelve los parámetros en una sola línea de texto. Después te tocará tratar esta línea de texto si quieres separar los parámetros, por ejemplo con la función StringSplit.

Saludos.
Gracias Chefito voy a realizar unas pruebas y comento para ver que tal nos va :smt024