Redirect 批脚本输入重定向

Redirect 批脚本输入重定向,redirect,input,batch-file,Redirect,Input,Batch File,正在尝试在Windows shell中运行程序,并向该程序发送更多输入并跟踪输出。当前,当运行程序并发送更多输入时,它会在预期输入的程序内停止,然后脚本会在程序退出后发送输入 cd \Users\user\Desktop\program @echo "To start program, type "program -a [ipaddress] -r [port number] (EG: program -a xx.xx.xx.xx -r 99)" program -a xx.x

正在尝试在Windows shell中运行程序,并向该程序发送更多输入并跟踪输出。当前,当运行程序并发送更多输入时,它会在预期输入的程序内停止,然后脚本会在程序退出后发送输入

cd \Users\user\Desktop\program
@echo "To start program, type "program -a [ipaddress] -r [port number] (EG: program -a          xx.xx.xx.xx -r 99)"
program -a xx.xx.xx.xx
show devs
在退出程序之前,“show devs”命令不会显示。我如何正确地调用它,以便在程序实例中调用“show devs”?

管道化它

echo "show devs" | program -a xx.xx.xx.xx
从中查看信息


另外,享受1995年的疯狂配色方案。

正如@Frozig所说,不过如果从批处理文件运行,请记住避开管道

echo "show devs" ^| program -a xx.xx.xx.xx
如果这不起作用,那么如果您能够让批处理创建一个小临时文件,就可以执行输入重定向

cd \Users\user\Desktop\program
echo show devs>tmp.tmp
@echo "To start program, type "program -a [ipaddress] -r [port number] (EG: program -a xx.xx.xx.xx -r 99)"
program -a xx.xx.xx.xx<tmp.tmp
pause
del tmp.tmp
cd\Users\user\Desktop\program
echo show devs>tmp.tmp
@echo“要启动程序,请键入”程序-a[ipaddress]-r[端口号](例如:程序-a xx.xx.xx-r 99)

程序-a xx.xx.xx.xx它不会发送到运行的程序。该程序似乎根本不接受该命令。它在运行或退出时不再显示在任何地方。不幸的是,这两种方法都不起作用。我现在真的很迷茫。@JonathanFrigon第二种方法的结果是什么?我对你的专业知识不太了解gram或当它准备好接受命令时,但上面的第二种方法应该启动程序,然后向该程序运行命令,假设程序在打开后立即准备接受命令。它运行程序,但不发送命令。退出程序后,它会暂停。我看不到它在e程序。您能否验证临时文件是否确实正在创建?如果没有,您可能在批处理运行的环境中存在权限问题(可能尝试以管理员身份运行批处理?)。您可以通过在创建tmp.tmp文件后添加暂停来减慢检查tmp.tmp文件的过程。
echo show devs>tmp.tmp
pause
@echo>要启动程序,请键入“program-a[ipaddress]-r[端口号](例如:program-a xx.xx.xx-r 99)”
我发现它正在创建tmp文件,但在运行上述程序的命令提示符中,它将
echo show devs 1>tmp.tmp
放入tmp文件中。知道为什么吗?我在批处理文件中有
echo show devs>tmp.tmp