如何通过文件关联在Vista 64中传递命令行参数?如何通过Vista 64中的文件关联传递命令行参数?
我最近建立了一台运行Vista Ultimate 64位的PC。我注意到我传输的几个Perl脚本因命令行参数未被传递而失败。作为一个简单的测试,我写了下面(foo.pl):
#!/usr/bin/perl -w
use strict;
my $num_args = $#ARGV + 1;
print "${num_args} arguments read\n";
print "$^X\n" # to see what was being used
运行 “foo.pl 1 2 3” 不希望地产生:
0 arguments read
C:\strawberry\perl\bin\perl.exe
运行“的perl foo.pl 1 2 3 “预计产生了:
3 arguments read
C:\strawberry\perl\bin\perl.exe
在我旧的Windows XP PC上,两个调用都返回了3个参数。我在这里记录了更多我在这里侦查(win32.perl.org wiki talk),但我还没有找到一个可行的解决方案。
我也试过ActivePerl-5.10.0.1004-MSWin32-x64-287188.msi无济于事。
任何帮助,将不胜感激。这让我非常沮丧。
我只看到下面 HKEY_CLASSES_ROOT \特等\ Perl的\(默认值)=(值未设置) HKEY_CLASSES_ROOT \特等\ Perl的\的ShellNew \(默认值)=(值未设置) 我发现%*我的语法win32.perl.org侦查。 Vista使用“assoc”和“ftype”功能,我已经试过修改无效:( – vlee 2009-01-14 20:14:29
实际的命令是在HKEY_CLASSES_ROOT \ Perl \ shell \ Open \ command中,看到我的回答如下 – VonC 2009-01-14 20:24:36
由于命令行找到了perl解释器当您启动一个.pl文件时,关联必须是* somewhere *。在注册表中搜索“perl.exe”,并查看您是否可以应用此信息 – devio 2009-01-14 20:35:18