2010-03-16 1 views
16

Ho un programma che deve interagire con il programma DOS prima che il mio programma possa continuare a fare quello che sta facendo. Sto cercando di evitare che il mio utente debba interagire con questo programma DOS. Così, ho creato un file .bat che fa tutto ciò che devo fare tranne l'ultimo passaggio che richiede ancora l'interazione dell'utente che sto cercando di evitare.Come si immette qualcosa al prompt di DOS Programmaticamente?

In particolare, il comando I digita al prompt dos dove è necessario immettere automaticamente ye quindi immettere (per rispondere di sì al prompt) e quindi si desidera uscire.

Esiste un modo per consentire che ciò accada automaticamente senza che il mio utente debba inserire ye inserire? Idealmente, mi piacerebbe che la finestra della console NON si aprisse nemmeno mentre questo è in corso.

+0

io non sono sicuro di capire fino a che punto siete arrivati ​​finora. Sei in grado di avviare questo comando che richiede "y"? Come lo stai realizzando? Che piattaforma stai usando? Quale lingua? C# con .NET? Giava? –

+0

e 'y ' non è nel file bat perché? –

+0

Austin, come si fa? Basta mettere "y " sull'ultima riga del file .bat? –

risposta

19

È possibile reindirizzare in un carattere 'y' nel programma in questo modo:

echo y | executable.exe 

linee multiple possono essere inseriti in questo modo:

(echo y 
echo n) | executable.exe 

... che passerà prima 'y 'poi' n '.

Vedere suggerimento da Microsoft here.

+1

Come fa a sapere quando inserire la y, quando si piscia in questo modo? –

+1

Non funziona, si trova solo nel buffer fino a quando il programma richiede l'input – Jason

+0

James, che ha funzionato. Lo script si blocca, ma non prima che faccia il lavoro che ho bisogno di fare. Grazie. –

8

Il post di Microsoft anche dice chiaramente:

Non digitare uno spazio tra la "y" e il simbolo pipe (|)

e anzi, ho notato che nel mio caso

echo y | eseguibile.exe

non funziona mentre

echo y | eseguibile.exe

funziona bene

+4

Questo è più un commento che una risposta a una domanda originale. – Kamiccolo

+0

Questo commento sembra migliore come risposta (a causa della formattazione consentita nelle risposte che non sono consentite nei commenti). Sono contento che abbia fatto una risposta invece di un commento per questo motivo. –