通过perl脚本执行批处理时,将批处理文件错误和输出放到日志文件中

时间:2015-01-09 07:19:22

标签: perl batch-file call

我是perl的新手。 我正在perl脚本中执行一组批处理文件。我需要将批处理文件的输出(打印语句和错误)发送到日志文件。具有perl脚本输出的相同日志文件。 我找到了很多方法将perl脚本的输出放到日志文件中,但是从perl脚本调用的批处理过程的输出仍然不会记录到日志中。

我的脚本看起来像这样:

#!/usr/bin/perl
use strict;
use warnings;
use File::Path;
use File::Copy;
.
.
Print "abc";
.
my @args= ('C:\SBS\Install\UpgradeSBSDB_Oracle.bat');
open (FHU,"|@args") or die "Fail to open Upgrade.batch file: $!";
print FHU "\n";
.
.
Print " xyz";
.
.

日志中的输出看起来像 ABC XYZ

我还需要在日志中调用的批处理文件的输出

1 个答案:

答案 0 :(得分:0)

尝试使用反引号启动系统调用:

my $output =  `'C:\SBS\Install\UpgradeSBSDB_Oracle.bat`;
print FHU $output."\n";