简体   繁体   English

在运行批处理脚本的Perl中,脚本需要STDIN

[英]From Perl running batch script, Script expects STDIN

In Windows, I want to run a batch script in perl. 在Windows中,我想在perl中运行批处理脚本。 This batch script wants two inputs from the user, but I want these inputs to come from the perl script. 这个批处理脚本需要用户提供两个输入,但是我希望这些输入来自perl脚本。 I've tried doing an echo | 我试过做回声| batchscript but that only works for one input. 批处理脚本,但仅适用于一种输入。 Currently I'm implementing it like this: 目前,我正在像这样实现它:

chdir "C:\\folder\\folder\\folder";
`some batch script`;
`echo variable`;
`echo filename`;

Another way I tried: 我尝试的另一种方式:

chdir "C:\\folder\\folder\\folder";
`echo variable | some batch script`;
`echo filename`;

The variable and filename are the two inputs that the script prompts for before continuing. 变量和文件名是脚本在继续之前提示输入的两个输入。 Neither works. 都不行。 Anything helps. 任何帮助。 Thanks 谢谢

脚本从stdin中读取:

my $script_out = qx(printf "%s\n" variable filename | script.sh);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM