【问题标题】:Perl:Opening a New Command Window and Running a Perl Script from this New Cmd WindowPerl:打开一个新的命令窗口并从这个新的 Cmd 窗口运行一个 Perl 脚本
【发布时间】:2013-05-23 18:01:42
【问题描述】:

我想生成一个 DOS Cmd 窗口并在新的 cmd 窗口中运行 hello.pl。

    my $cmd="cd C:/run_dir && perl hello.pl";
    system("start cmd.exe /k $cmd");

上面的代码将正确生成新的 dos cmd 窗口。 但是,hello.pl 程序将从调用 perl 程序的窗口执行。 我希望“hello.pl”从新生成的 cmd dos 窗口 C:/run_dir 运行。

谢谢! 萨米

【问题讨论】:

    标签: perl window cmd system


    【解决方案1】:

    命令是

    start cmd /k "cd c:\run_dir && perl hello.pl"
    

    你想要的

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

    【讨论】:

    • system(qq{start cmd /k "cd C:\\run_dir && perl C:\\perl_examples\\hello.pl"});
    • 我应该使用单引号。这样你就不需要转义\ 。固定。
    • 该命令效果很好。谢谢。当然,单引号可以工作,因为没有插值。现在我尝试将这两个指令包含在一个 cmd 中,但仍然有问题。
    • 不过,它让我注意到了一个问题(\r 导致回车)。但就像我说的,它现在已经修复了。
    • 我的 $cmd='cd C:\run && perl C:\perl_examples\\hello.pl'; system(qq{start cmd /k $cmd});
    猜你喜欢
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多