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"

这种方法适用于其他地方。我敢打赌它也可能在这里工作。


对于更复杂的脚本交互,请尝试expectexpect是一个基于 TCL 的脚本解释器,允许与控制台应用程序进行脚本交互。这是一个Windows脚本的 Expect示例:

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 回答