系统启动命令在XP中不起作用

时间:2014-03-07 21:13:45

标签: windows perl windows-xp spawn

我正在尝试运行一个在Windows XP上调用子进程的脚本。它最初是在Windows 7中设计的。一切似乎都可以保存spawn:

我运行一个命令

system "start", "cmd.exe", "/k","C:/path/perl.exe","C:/users/script.pl";
在Windows 7中

,它会将script.pl生成到新的控制台中。

XP中的相同命令告诉我它找不到start

当我跑步时

system "cmd.exe", "/k","C:/path/perl.exe","C:/users/script.pl";

它无法打开新的控制台。

如何在XP中的新控制台中生成新进程?

1 个答案:

答案 0 :(得分:1)

我记不起关于XP的事情,但是在W7 start上由cmd.exe提供并且不是单独的可执行文件。所以我很惊讶在参数列表中首先看到它。

我认为原作者严重搞砸了,以便隐式运行cmd.exe来执行startcmd.exe然后运行第二个运行perl的system qw{ cmd.exe /K C:/path/perl.exe C:/users/script.pl } 副本。

最后,我假设你想要运行Perl程序并等到它完成,所以你需要

/K

我还认为/C应该是qw,因为前者在命令退出时要求shell再次提示,而后者只运行命令并停止。

检查你的里程。

哦,如果路径中有空格,你就不能使用{{1}}。