如何使perl执行第三方命令

如何使perl执行第三方命令,perl,Perl,我在用perl执行任务时遇到了一个问题。通过该脚本,首先我要转到另一条路径,然后执行位于该路径中的命令 例如:\ProgramFiles\\bin这里的命令是说,xyz-c 那么,怎么做呢?我所做的是--> 当我在cmd中手动转到这个特定的驱动器并执行命令时,它就可以工作了 问候,, Vik更换 $sts = `("$command\\xyz -c")`; 与 然后再试一次 要确保使用的是有效的文件路径,可以将上述代码替换为 if (-f "$command\\xyz") { $sts

我在用perl执行任务时遇到了一个问题。通过该脚本,首先我要转到另一条路径,然后执行位于该路径中的命令

例如:
\ProgramFiles\\bin
这里的命令是说,
xyz-c

那么,怎么做呢?我所做的是-->

当我在cmd中手动转到这个特定的驱动器并执行命令时,它就可以工作了

问候,, Vik

更换

$sts = `("$command\\xyz -c")`;

然后再试一次

要确保使用的是有效的文件路径,可以将上述代码替换为

if (-f "$command\\xyz") {
    $sts = `"$command\\xyz -c"`;
    print $sts;
}

@gaussblurinc事实上,我担心,
@gaussblurinc看起来像是询问者在使用Windows,那些反斜杠应该不是问题。不,替换上面的字符不起作用。我想它不会走这条路。如何使它首先进入路径,然后执行?有什么办法吗?@user3560745,我认为风是你的问题:)但是,没有笑话,我认为你的问题在于文件存在。请阅读有关File::Spec、File::Basename模块的信息。他们会帮忙的you@user3560745确保您试图运行的文件确实存在。请查看我的更新答案。
$sts = `("$command\\xyz -c")`;
$sts = `"$command\\xyz -c"`;
if (-f "$command\\xyz") {
    $sts = `"$command\\xyz -c"`;
    print $sts;
}