2014-01-13 78 views
1

在Win 7,這是程序:

# TestArg.pl 
print "\nin TestArg.pl, \$ARGV[0]=$ARGV[0], \$ARGV[1]=$ARGV[1], \$ARGV[2]=$ARGV[2]"; 

當我運行:TestArg.pl 1 2 3在命令行

我得到:在TestArg 0123,

而不是讓他們分佈。

在註冊表:

HKEY_USERS\...\Software\Classes\pl_auto_file\shell\open\command is: 
Default REG_SZ "C:\Perl\bin\perl.exe" "%1" "%*" 

我試圖改變REG_SZREG_MULTI_SZ,但它不會讓我,雖然我是管理員。

如果我可以編輯它,問題是否解決了問題?

如果是這樣,我該如何獲得訪問權限?

如果沒有幫助,會怎樣?

+1

*「當我運行:TestArg.pl 1 2 3在命令行」*您的意思是'perl TestArg.pl 1 2 3'? – Kenosis

+0

不,我依靠文件關聯來知道以.pl結尾的程序以perl.exe運行。但這是一個很好的問題!自從我發佈以來,我開始使用註冊表,將事情搞砸了,顯然把所有事情都恢復了原樣,但現在,前面沒有perl.exe的調用會傳遞NO參數,但與perl.exe的調用正常工作!有誰知道應該如何設置所有的註冊表項? – user1067305

+0

這是ActiveState Perl嗎? – Borodin

回答

1

它的假設是%*,不"%*"

+0

是的。謝謝。我糾正了這一點,但它沒有改變任何東西。 – user1067305

0

上面我留在評論答案是太遠的線程來顯示,所以在這裏我要重複一遍,在那裏可以看到。

由於虛己建議,這個問題得到的回答3年前在問題1695188.

它需要一個%*在應用程序結束\ perl.exe所在\殼\開放\命令註冊表場。

我有%*,但只在pl_auto_file \ shell \ open \命令字段中。

有趣的是,設置該領域的人至少在4年內做錯了!