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

标签 c# windows batch-file

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

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

所以总结发生的事情是:

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

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

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

非常感谢。

最佳答案

您可以创建一个 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}"

等...

关于c# - 使用批处理文件/命令行将参数传递给可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418990/

相关文章:

c++ - C++中WinMain、main和DllMain的区别

file - 批处理 : Remove a string from a string

java - 在 Eclipse 中停止 Minecraft 服务器

c# - 如何使用自定义模型 Binder 对路由进行单元测试

Windows: child 死亡时的通知(崩溃或正常退出)

c# - 如何验证IList外键? Entity Framework

c++ - 从 Windows 服务启动子进程

for-loop - 批处理命令查找并运行文件

c# - 使用 Oauth2 通过 Office365 C# 发送电子邮件

c# - 为适当的构造函数注入(inject)和 ISP(SOLID)定义抽象