2010-03-16 12 views
16

Tengo un programa que debe interactuar con el programa DOS antes de que mi programa pueda continuar lo que está haciendo. Estoy tratando de evitar que mi usuario tenga que interactuar con este programa de dos. Entonces, creé un archivo .bat que hace todo lo que necesito hacer, excepto el último paso que aún requiere la interacción del usuario que estoy tratando de evitar.¿Cómo se ingresa algo en un indicador de DOS mediante programación?

Específicamente, el comando que escribo termina en un dos prompt donde necesito ingresar automáticamente y y luego ingresar (para decir sí al aviso) y luego quiero salir.

¿Hay alguna forma de que esto pueda suceder automáticamente sin que mi usuario tenga que ingresar y? Idealmente, me gustaría que la ventana de la consola NO aparezca ni siquiera mientras esto sucede.

+0

No estoy seguro de entender lo lejos que ha llegado tan lejos. ¿Puedes iniciar este comando que está pidiendo "y"? ¿Cómo estás logrando eso? ¿Qué plataforma estás usando? ¿Que lenguaje? C# con .NET? ¿Java? –

+0

y 'y ' no está en el archivo bat porque? –

+0

Austin, ¿cómo lo haces? Simplemente ponga "y " en la última línea del archivo .bat? –

Respuesta

19

Puede canalizar en un personaje 'y' en el programa de este modo:

echo y | executable.exe 

Múltiples líneas se pueden introducir de esta manera:

(echo y 
echo n) | executable.exe 

... que pasará primero 'y 'luego' n '.

Ver la punta de Microsoft here.

+1

¿Cómo sabe cuándo ingresar el y, cuando pipa de esta manera? –

+1

No, simplemente se sienta en el búfer hasta que el programa solicita la entrada – Jason

+0

James, que funcionó. La secuencia de comandos se bloquea, pero no antes de que haga el trabajo que necesito hacer. Gracias. –

8

El post de Microsoft también dice claramente:

no escribe un espacio entre la "Y" y el símbolo de canalización (|)

y, de hecho, me di cuenta que en mi caso

echo y | executable.exe

no funciona mientras

echo y | executable.exe

funciona bien

+4

Esto es más como un comentario en lugar de la respuesta a una pregunta original. – Kamiccolo

+0

Este comentario se ve mucho mejor como respuesta (debido al formato permitido en las respuestas que no están permitidas en los comentarios). Me alegra que haya hecho una respuesta en lugar de un comentario por ese motivo. –

Cuestiones relacionadas