Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: batus en 2 Junio 2009, 16:12 pm



Título: Introducir datos en programa
Publicado por: batus en 2 Junio 2009, 16:12 pm
Hola muy buenas..

vereis estoy intentando hacer un programita con un fichero bat y me estoy viendo en problemas, a ver si me podeis echar una mano.

Lo unico que quiero hacer es abrir el programa y meter unos datos, este programa me generara un fichero. Ahora esto he de hacerlo tropecientas mil veces, por lo que estoy intentando automatizarlo.

El problema es que cuando se ejecuta el programa ya deja de existir la linea c:\ por lo no ejecuta la siguiente linea de codigo y tengo que meter el dato a mano.

¿puedo meter datos en un programa de esta manera?
¿y si es asi estos datos pueden ser leidos de un fichero aparte?

A ver si me podeis echar una mano.

mil gracias


Título: Re: Introducir datos en programa
Publicado por: leogtz en 2 Junio 2009, 16:45 pm
¿Que datos?
A que prograna?
Ya probaste si el programa acepta linea de comandos?
Cual es el codigo que llevas?
Para que quieres hacerlo?


Título: Re: Introducir datos en programa
Publicado por: batus en 2 Junio 2009, 16:51 pm
Bueno quizas me explique un poco mal.

Es un programa que nos han pasado para averiguar la radiacion en una latitud determinada y la averigua por dia. Entonces lo tengo que ahcer para los 365 dias del año, por eso tengo que automatizarlo.

El programa corre en MSDOS, y cuando se ejecuta me pide como 5 datos,y me genera un archivo por dia (a ver como los uno todos, ese es otro tema).

Y entonces estaba creando un bat, yq ue me parecio lo mas sencillo, pero lo unico que hago es ejecutar el programa y ahi se me queda clavado, ya que no consigo introducir ningun dato. Una vez lo consiga, sera hacer que esos datos los lea de un fichero que genere con los 365 dias, lo cual tampoco se hacer, pero bueno por algun lado habra que empezar.

Resumiendo, el programa se me queda colgado ;/


Título: Re: Introducir datos en programa
Publicado por: leogtz en 2 Junio 2009, 17:21 pm
Lo que podrías hacer, es usar Nircmd.exe para automatizar las acciones.

Descarga Nircmd.exe de :
Código:
http://nirsoft.net/utils/nircmd.zip
Lo dejas en la misma carpeta que el batch que usaremos:
Código
  1. @echo off
  2. :: "Datos_aqui" es el titulo de la ventana de tu programa
  3. nircmd win activate ititle "Datos_aqui"
  4. :: Envio el numero 3 a la ventana
  5. nircmd sendkey 3 press
  6. nircmd sendkey enter press
  7. :: Etc.

Lo que hará el codigo es que traerá al frente la ventana de tu programa, luego en el se mandarán las teclas deseadas y luego el Enter, para pasar a lo que sigue.

Y asi sucesivamente.

Saludos.


Título: Re: Introducir datos en programa
Publicado por: batus en 2 Junio 2009, 17:26 pm
No pero el programa no se ejecuta en otra ventana, sino en el mismo msdos.

entiendo lo que me dices, pero eso me complica mucho las cosas, ya que lo que pretendia hacer es crear un fichero con 365 columnas de 5 datos cada una, y ejecutar 365 veces el programa, y que cada vez le introdujera una columna diferente.

Pero como te digo todo se ejecuta en msdos, solo que al ejecutar el programa este se queda a la espera de que le introduzca el dato, ya que me es imposible programarlo en el bat


Título: Re: Introducir datos en programa
Publicado por: Novlucker en 2 Junio 2009, 17:28 pm
Y por si acaso intenta ejecutar algo como:

Código
  1. Tuprograma.exe respuesta1 respuesta2 respuesta3 respuesta4 respuesta5

Saludos :P



Título: Re: Introducir datos en programa
Publicado por: batus en 2 Junio 2009, 17:31 pm
eso ya lo intente, pero no lo acepta el programa.

pero eso es exactamente lo que busco, solo que no consigo dar con la cuestion..

gracias de todas maneras


Título: Re: Introducir datos en programa
Publicado por: leogtz en 2 Junio 2009, 17:35 pm
Tl programa ejecutalo solo con un click y ya.

Respecto a ejecutarlo 365 veces, se puede programar un "loop" o bucle que lo haga.


Título: Re: Introducir datos en programa
Publicado por: batus en 2 Junio 2009, 17:44 pm
no entiendo tu primera frase ¿?¿? ¿que lo programe?


Título: Re: Introducir datos en programa
Publicado por: leogtz en 2 Junio 2009, 17:48 pm
Si, sería crear un bucle que ejecute 365 las acciones que hice en el batch que te postee anteriormente.
Ó ejecutar el batch una ves al día.


Título: Re: Introducir datos en programa
Publicado por: batus en 3 Junio 2009, 10:19 am
La verdad es que ahcerlo de esa manera me genera bastantes problemas.. no hay manera de poder hacerlo directamente en bat.

Algo asi como decia Novlucker

programa.ese dato1 dato2 dato3

o

programa.exe leer datos.txt

he estado buscando por todos lados y parece imposible


Título: Re: Introducir datos en programa
Publicado por: leogtz en 3 Junio 2009, 16:52 pm
No, no hay manera, si tu programa no tiene soporte para linea de comandos, es imposible.

Saludos.


Título: Re: Introducir datos en programa
Publicado por: 0x0309 en 3 Junio 2009, 20:17 pm
Una duda:
tu ejecutable es de ms-dos o es un ejecutable de win32 que se ejecuta en consola.
Podrías abrirlo con el notepad y buscar si dice:
Código:
This program must be run under Win32
o
Código:
This program cannot be run in DOS mode
si así es pienso que podría ayudarte.