通过 Perl 脚本执行批处理时将批处理文件错误和输出放入日志文件



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

我的脚本看起来像这样:

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

日志中的输出如下所示美国广播公司xyz

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

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

my $output =  `'C:SBSInstallUpgradeSBSDB_Oracle.bat`;
print FHU $output."n";

最新更新