2010-03-16 5 views
16

J'ai un programme, qui doit interagir avec au programme DOS avant que mon programme puisse continuer ce qu'il fait. J'essaie d'éviter que mon utilisateur ait à interagir avec ce programme DOS. Donc, j'ai créé un fichier .bat qui fait tout ce que j'ai besoin de faire, sauf pour la dernière étape qui nécessite encore une interaction de l'utilisateur que j'essaie d'éviter. Plus précisément, la commande de type I aboutit à une invite DOS où je dois entrer automatiquement y puis entrer (pour dire oui à l'invite) et je veux sortir.Comment entrer quelque chose à l'invite DOS par programme?

Y a-t-il un moyen pour que cela se fasse automatiquement sans que mon utilisateur doive entrer y et entrer? Idéalement, j'aimerais que la fenêtre de la console n'apparaisse PAS pendant que ça se passe.

+0

Je ne suis pas sûr que je comprends ce que vous êtes venu jusqu'à présent. Êtes-vous capable de démarrer cette commande qui demande "y"? Comment faites-vous cela? Quelle plateforme utilises-tu? Quelle langue? C# avec .NET? Java? –

+0

et le «y » n'est pas dans le fichier bat parce que? –

+0

Austin, comment faites-vous cela? Il suffit de mettre "y " sur la dernière ligne du fichier .bat? –

Répondre

19

Vous pouvez diriger dans un 'y' caractère dans le programme comme ceci:

echo y | executable.exe 

lignes multiples peuvent être entrées comme ceci:

(echo y 
echo n) | executable.exe 

... qui passera d'abord « y 'alors' n '. Voir le conseil de Microsoft here.

+1

Comment sait-il quand entrer dans le y, quand tu as pipé comme ça? –

+1

Il ne se trouve pas, il se trouve juste dans le tampon jusqu'à ce que le programme demande une entrée – Jason

+0

James, cela a fonctionné. Le script se bloque, mais pas avant qu'il fasse le travail dont j'ai besoin. Merci. –

8

Le message de Microsoft a également dit clairement:

Ne tapez pas un espace entre le "y" et le symbole pipe (|)

et en effet, je remarquai que dans mon cas

echo y | executable.exe

ne fonctionne pas tout

echo y | executable.exe

fonctionne très bien

+4

Cela ressemble plus à un commentaire qu'à une réponse à une question originale. – Kamiccolo

+0

Ce commentaire semble bien mieux qu'une réponse (à cause de la mise en forme autorisée dans les réponses qui ne sont pas autorisées dans les commentaires). Je suis content qu'il en ait fait une réponse au lieu d'un commentaire pour cette raison. –

Questions connexes