2012-10-25 169 views
1

試圖在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」?

回答

0

管它!

echo "show devs" | program -a xx.xx.xx.xx 

查看關於this pipes and redirect reference的信息。

此外,享受1995年

+0

配管它不會將它發送到運行的程序。該程序似乎根本不接受命令。它在運行或退出時不再出現在任何地方。 –

0

由於@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 
+0

不幸的是,這些方法都不起作用。在這一點上我真的很迷茫。 –

+0

@JonathanFrigon第二種方法的結果是什麼?我不太瞭解你的程序或者它準備好接受命令的時候,但是上面的第二種方法應該啓動程序,然後運行一個命令到該程序,假定程序準備好在打開後立即接受命令。 – Xestrix

+0

它運行程序但不發送命令。在我退出程序後,它暫停。我沒有看到它在程序中的任何地方發送命令。 –

相關問題