使用批处理文件/命令行将参数传递给可执行文件

时间:2014-01-28 23:17:16

标签: c# windows batch-file

所以有一个程序是有人写的(我无权访问)用C#编写的,当我打开它时,会弹出一个命令提示符,询问几个问题,然后返回一个输出。

我想要做的是编写一个批处理文件来自动输入所有参数,但到目前为止我还没有真正起作用。我在命令提示符下尝试了“program.exe arg1 arg2 ..”并阅读了有关windows命令的信息(我检查了ss64),但似乎没有任何工作。

总结一下发生的事情是:

1)我在命令提示符中打开程序(.exe文件)(或单击它),它要求我输入值或文件名 http://i.stack.imgur.com/bZsSi.png

2)我按回车继续下一个问题,命令要求我回答另一个问题(除非我完成了最后一个问题,在这种情况下程序完成执行然后关闭)。 http://i.stack.imgur.com/nqJ5M.png

现在,我将如何制作一个批量文件,将SWAIN.dat,n,1000等自动输入到该程序中?同样,我无法访问原始程序。我只知道它是用C#编写的。

非常感谢。

2 个答案:

答案 0 :(得分:2)

您可以创建一个VB脚本 -

set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run "cmd" 
WScript.Sleep 100 
WshShell.AppActivate "C:\Windows\system32\cmd.exe" 
WScript.Sleep 100 
WshShell.SendKeys "program.exe{ENTER}" 
WScript.Sleep 100 
WshShell.SendKeys "SWAIN.dat{ENTER}" 
WScript.Sleep 100
WshShell.SendKeys "1000{ENTER}"

等...

答案 1 :(得分:2)

你可以试试这个:

(
echo SWAIN.dat
echo n
echo 1000
echo etc...
) | program.exe
相关问题