2013-10-18 203 views
0

在Windows中,我想要在perl中運行批處理腳本。該批處理腳本需要來自用戶的兩個輸入,但我希望這些輸入來自perl腳本。我試着做一個回聲|批處理腳本,但只適用於一個輸入。目前我正在實施這樣的:從Perl運行批處理腳本,腳本期望STDIN

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

另一種方式我想:

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

變量和文件名,該腳本提示繼續之前的兩個輸入。兩者都不起作用。任何幫助。由於

+0

你說「殼」的劇本,但你的示例代碼使用Windows風格目錄。你的意思是說「批處理文件」? – mob

+0

是的。我的意思是批處理文件。 perl腳本正在Window的CMD中運行。 –

回答

1

由於腳本從標準輸入讀取:

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