(VBS) Entrar datos a consola desde vbs

Iniciado por tonilogar, 4 Mayo 2010, 00:28 AM

0 Miembros y 1 Visitante están viendo este tema.

tonilogar

Dentro de mi script vbs ejecuto un .exe, que me habre una consola de msdos y me va pidiendo datos.
¿Como puedo entrar esos datos desde el script vbs, a la ventana de msdos.
Un saludo y gracias por vuestro tiempo.
No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.

leogtz

¿Qué datos necesitas envíar al .exe?

¿Qué tipo de entrada utiliza el .exe?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

chewarrior

#2

Dim escri,Directorio '  declara las variables

Set objshell = createobject("wscript.shell")
Set objscript = CreateObject("Scripting.FileSystemObject")  '  llama al objeto

Directorio = objshell.expandenvironmentstrings("%Systemroot%") ' aqui se guarda la variable del entorno en Directorio

Set escri = objscript.CreateTextFile(Directorio & "\msdoscoman.bat",false) ' creea bat
escri.writeline("@echo off")
escri.writeline("cd /donsencuentre.exe")   '  aqui tienes que localizar el dir de el exe
escri.writeline("comandos") '  pones los comandos cmd
escri.writeline("Del /q /f msdoscoman.bat") '  el archivo bat se borra
escri.writeline("exit")
escri.close


objshell.Run Directorio & "\msdoscoman.bat"   '  arranca el bat


asi lo hago yo  :xD
Si Dios es tiempo,muchos lo estan perdiendo.

tonilogar

Gracias por vuestro tiempo.

Leo Gutiérrez los datos que necesito entrar a la consola de msdos son unas lineas de texto.

En principio cuando se ejecuta el exe, se habré una ventana de msdos y me hace dos preguntas que tengo que responder con:
2

235-125

No se a lo que te refieres con el tipo de entrada del exe.
Soy como que muy principiante.


Chewarrior por lo que entiendo en tu script.
Lo que haces es crear un bat y después ejecutarlo ¿no?

De esta forma es como lo suelo hacer.

Lo que me interesa es escribir los datos que me pide la consola mediante vbs.
Estas en lo cierto en que solo con un bat se puede hacer.
Pero quiero poder utilizar varios ejecutables que trabajan de esta forma sin tener que utilizar los bats.

Gracias y un saludo a los dos.
No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.

chewarrior

Option Explicit

Dim pulsacion


Set pulsacion = CreateObject("WScript.Shell")
WScript.Sleep 1000

pulsacion.SendKeys "2"  ' comandos para tu aplicacion letras palabras y numeros
WScript.Sleep 1000 ' haces un lapso de tiempo para que no te salga todo de golpe
pulsacion.SendKeys "{ENTER}" ' pulsas enter
WScript.Sleep 1000
pulsacion.SendKeys "213-215" ' comandos para tu aplicacion letras palabras y numeros
WScript.Sleep 1000
pulsacion.SendKeys "{ENTER}" ' hay muchas mas funciones como espacios etc todo lo podras encontrar en el tuto de vbs que esta en esta secion
WScript.Sleep 1000


wscript.quit


bueno esto lo que hace es meter los comandos como si se estubieran pulsando desde el teclado, asi que tendras que tener la ventana cmd como prinicipal para que se pueda escribir
Si Dios es tiempo,muchos lo estan perdiendo.

leogtz

Yo me referia si el .exe tenía soporte para que le enviaras datos como argumentos.

Porque si es así, sería fácil usar una tubería.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

tonilogar

Gracias chewarrior
Mañana lo probare en el trabajo con el *.exe.

Perdona mi ignorancia Leo Gutiérrez, no se a que te refieres con "si el .exe tiene soporte"
Pero te agradecería me explicaras el termino y como puedo usar "una tuberia"

Supongo que la entrada de datos por consola, se podrá hacer de mas de una forma.

Gracias a los dos por vuestro tiempo.
No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.

Novlucker

A que si el exe tiene soporte para parámetros
Por ejemplo el netstat.exe, que le puedes poner el -a, o el -b, etc etc.

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

tonilogar

Gracias chewarrior me va perfecto.
El exe no tiene soporte para parámetros Leo, pero me interesa saber como usar una tubería.

Esta noche lo puliré un poco y lo colgare para que me deis opiniones.
Un saludo a los tres y gracias por vuestro tiempo.

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.

tonilogar

Pues al final tampoco es la solución.
Si ejecuto el script, y no me muevo de la consola cmd va perfecto.
Pero si ejecuto el script i sigo trabajando con cualquier programa, el script " SendKeys"
se aplica donde me encuentre.
Y el script puede llegar a hacer unos despropositos.....
Incluso una vez se me ha cerrado el sistema operativo.

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.