Batch file 将echo comand插入正在运行的comand线路

Batch file 将echo comand插入正在运行的comand线路,batch-file,redirect,cmd,Batch File,Redirect,Cmd,我有一个exe文件,它打开一个comand窗口,等待用户输入,我们称之为program.exe 我想自动将用户输入插入正在运行的程序 例如,如果我编写这样的批处理,我希望启动程序并将comand插入已启动程序的comand行 @echo off call program.exe echo comand1 这将启动程序,并将comand1的输入“模拟”到打开程序的comand行中 @echo off call program.exe echo comand1 如何实现这一点?我将使用power

我有一个exe文件,它打开一个comand窗口,等待用户输入,我们称之为program.exe

我想自动将用户输入插入正在运行的程序

例如,如果我编写这样的批处理,我希望启动程序并将comand插入已启动程序的comand行

@echo off
call program.exe
echo comand1
这将启动程序,并将comand1的输入“模拟”到打开程序的comand行中

@echo off
call program.exe
echo comand1

如何实现这一点?

我将使用powershell启动应用程序并传递以下命令:

$psi = New-Object System.Diagnostics.ProcessStartInfo
$psi.FileName = "proogram.exe"
$psi.UseShellExecute = $false
$psi.RedirectStandardInput = $true
$p = [System.Diagnostics.Process]::Start($psi)
Start-Sleep -s 2 #wait 2 seconds so that the process can be up
$p.StandardInput.WriteLine("command1")

可能是
echo command1 | program.exe
。它是否工作取决于
.exe
的编程方式。尝试,但这不起作用。此外,我还有更多,然后只是一个单一的comand,我想按顺序执行。我不需要一个单独的批处理,我也可以只启动exe,然后运行一个批处理,将文本从exe文件重定向到OpenCMD窗口。(如录制的宏)可以使用
(echo command1和echo command2)| program.exe
执行多个操作。但是当一个输入不起作用时,多个输入也不起作用。第二个想法是,单用
cmd
是无法做到的。需要另一种语言的帮助,它具有某种类型的
SendKey
命令(例如
vbs
)好的。为此,我将使用autoIT。它起作用了。感谢您输入其他方法
program.exe我将尝试此方法。这正是我要找的。