我正在尝试编写一个Windows批处理文件来执行一个工作正常的程序。但是,执行的程序(.exe)会停止并要求用户在继续之前输入Yes
。
有没有办法可以自动将Yes
发送到控制台应用程序?
我写的代码是通过这个特定的可执行文件传递大约2,000个文件,并且每个文件都要求Yes
响应继续。
我尝试过使用echo Yes
。我已经尝试过睡眠,然后回复Yes
,但这些都不起作用。还有其他办法吗?
您应该知道Windows批处理文件实际上是由Perl脚本编写的。 Perl脚本获取文件列表,构造所需的命令行命令,然后通过命令行重定向将它们输出到.bat文件。然后手动执行此.bat文件。我的Perl代码是:
$inFile = 'fileList.txt';
$key = '"-----BEGIN RSA PRIVATE KEY-----"';
open(IN, "< $inFile");
while (<IN>) {
chop();
printf ("RunMe.exe --key %s \"%s\"\n",$key,$_);
printf("del \"%s.bak\"\n",$_);
}
close(IN);
向我们提供有关如何实现这一目标的建议。
答案 0 :(得分:0)
['yes'命令]将无限期地回应'y'(或你提出的任何问题)。用它作为:
'yes | command-that-asks-for-input'
或者,如果需要资本'Y':
'yes Y | command-that-asks-for-input'