【发布时间】:2010-09-22 10:13:58
【问题描述】:
有没有一种方法可以打开一个新的 cmd 窗口并传递一个变量,然后在完成后关闭该窗口?
我找到了一些信息,但还不足以让它工作。
system('start "List Perl files" dir c:/dfd/dfdf.pl /B');
打开窗口但不运行脚本。
【问题讨论】:
-
你真的要打开窗口还是运行命令足够?
有没有一种方法可以打开一个新的 cmd 窗口并传递一个变量,然后在完成后关闭该窗口?
我找到了一些信息,但还不足以让它工作。
system('start "List Perl files" dir c:/dfd/dfdf.pl /B');
打开窗口但不运行脚本。
【问题讨论】:
主脚本:
my ($x, $y) = (888, 999);
system('start', 'List Perl files', 'perl', 'other_script.pl', $x, $y);
另一个脚本:
print "Args received = @ARGV\n";
<STDIN>;
顺便说一句,可能有更好的方法来实现您的更大目标——例如,将所需的功能组织到模块中。通过命令行参数和@ARGV 将信息从一个脚本传递到另一个脚本可能是一件麻烦事,也是一个限制因素。
【讨论】:
foreach( @ARGV ) { print @_ . "\n"; } <STDIN>; ??
system 中的引号可能有问题。最好使用system("start", "List Perl files", "perl", "other_script.pl", $x, $y);。