我正在尝试使用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");
它会打开一个新的命令提示符和我需要的目录的路径。但它在原始窗口中运行我的示例脚本,而不是在新打开的命令提示符中运行。
我有办法做到这一点吗?
谢谢。
答案 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 ];
谢谢。