2

Windows シェル内でプログラムを実行し、プログラムにさらに入力を送信して、出力を追跡しようとしています。現在、プログラムを実行してさらに入力を送信すると、入力を期待しているプログラム内で停止し、プログラムが終了した後にスクリプトが入力を送信します。

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」を呼び出すには、これを適切に呼び出すにはどうすればよいですか?

4

2 に答える 2

0

それをパイプ!

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

このパイプとリダイレクト参照からの情報を確認してください。

また、1995年のクレイジーな配色もお楽しみください。

于 2012-10-25T21:23:11.317 に答える
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
于 2012-10-26T06:43:40.567 に答える