如何通过perl脚本执行多个命令

时间:2016-10-04 19:28:38

标签: perl command-line

我正在尝试使用perl来运行两个不同的命令 - 这两个命令都需要在单独的命令提示符中执行。

以下是一些细节:

当我跑

system('start cmd /k "cd c:\PerlExamples && perl Perl_Ex_1.pl"');

它按预期工作 - 它会打开一个新的命令提示符,指向我需要的目录的路径并运行我的脚本。

但是,我想在每次运行不同示例脚本的循环中使用此系统...命令。 但是,当我运行以下代码行时,

my $cmd = "perl Perl_Ex_1.pl";
system("start cmd /k cd c:\PerlExamples && $cmd");

它会打开一个新的命令提示符和我需要的目录的路径。但它在原始窗口中运行我的示例脚本,而不是在新打开的命令提示符中运行。

我有办法做到这一点吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

感谢perl僧侣的智慧,我找到了解决问题的方法。

链接到解决方案: http://www.perlmonks.org/?node_id=1173278

解决方案是使用:

my $cmd = "perl Perl_Ex_1.pl";
system(qq{start cmd /k "cd c:\\PerlExamples && $cmd"});

或使用:

my $cmd = "perl Perl_Ex_1.pl";
system qq[ start /D c:\\PerlExamples cmd /k  $cmd ];

谢谢。