如何以编程方式在DOS提示符下输入内容?

时间:2010-03-16 19:21:54

标签: batch-file

我有程序,在我的程序可以继续它正在做的事情之前必须与DOS程序交互。我试图避免我的用户不得不与这个dos程序进行交互。所以,我创建了一个.bat文件来完成我需要做的所有事情,除了最后一步仍然需要我试图避免的用户交互。

具体来说,我输入的命令会在dos提示符处结束,我需要自动输入y然后输入(对提示符说“是”)然后我要退出。

有没有什么方法可以让我自动实现这一点而无需用户输入y并输入?理想情况下,我希望控制台窗口在发生这种情况时不会弹出。

3 个答案:

答案 0 :(得分:20)

您可以将'y'字符输入到程序中,如下所示:

echo y | executable.exe

可以输入多行:

(echo y
echo n) | executable.exe

...首先会传递'y'然后传递'n'。

请参阅Microsoft here提示。

答案 1 :(得分:8)

微软的帖子也清楚地说:

请勿在" y"之间键入空格。和管道符号(|)

事实上,我注意到了我的情况

  

回显y | executable.exe

不起作用 而

  

回显y | executable.exe

工作正常

答案 2 :(得分:0)

我使用了以下内容,因为“ echo y | executable.exe”对我不起作用

// Write a "Y" to the process's input
proc.StandardInput.WriteLine("Y");
// Now that we've sent the confirmation "Y" wait for the process to exit
proc.WaitForExit();

如此处发布:https://www.experts-exchange.com/questions/27024185/C-ProcessStart-How-to-automatically-press-the-Y-key.html