0

ユーザー入力を待機する Perl スクリプトを実行しています。スクリプトを実行し、入力を提供するためのバッチ ファイルを取得するにはどうすればよいですか?

コマンド ライン引数を受け入れるように Perl ソース コードを変更できません。これがイラストです。

::fill.bat
perl "lazy.pl"
::Pause for 25 seconds tow wait for program to receive user input
ping -n 25 -w 1000 127.0.0.1 > nul 
@Echo off
::Want this to enter "y" when asked "Update script before using? [y]"
Echo y

ここに画像の説明を入力

4

1 に答える 1

0

回答を perl スクリプトの実行にパイプしてみてください。

echo y| perl "lazy.pl"

この方法は他の場所でも機能します。きっとここでも活躍してくれます。


より複雑なスクリプト化された対話については、expectを試してください。 expectは、コンソール アプリとのスクリプト化された対話を可能にする TCL ベースのスクリプト インタープリターです。以下は、Expect for Windowsスクリプトの例です。

spawn perl lazy.pl
expect "Update script before using? [y]"
exp_send "y\r"
expect "Another question? [y]"
exp_send "y\r"
于 2013-03-28T00:51:44.543 に答える