我正在运行一个等待用户输入的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
答案 0 :(得分:0)
尝试将您的答案用于执行perl脚本。
echo y| perl "lazy.pl"
此方法works elsewhere。我打赌它也可能在这里工作。
对于更复杂的脚本交互,请尝试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"