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.
¿Qué datos necesitas envíar al .exe?
¿Qué tipo de entrada utiliza el .exe?
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
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.
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
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.
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.
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
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.
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.