2016-09-16 70 views
-1

我在Windows機器上安裝了ActiveState Perl。如何讓Perl自動查找腳本的特定目錄?

現在,假設我有腳本,其中包括一個叫"SomeScript.pl",在此目錄中:

"C:\Example\Foo\Bar\" 

如何配置時,它傳遞一個腳本路徑Perl來自動查找該目錄中的腳本?

例如,在命令行,我可以運行...:

perl C:\Example\Foo\Bar\SomeScript.pl 

...就好了。

但以下...:

perl SomeScript.pl 

失敗,因爲Perl不知道在"C:\Example\Foo\Bar\"目錄看。如何將Perl配置爲在從命令行傳遞腳本名稱時自動查找腳本的某個特定目錄?

+1

這可能有幫助 - http://superuser.com/questions/284342/what-are-path-and-other-environment-variables-and-how-can-i-set-or-use-them – yonyon100

+0

那鏈接不起作用。當命令直接傳遞到Windows shell時,設置Windows的'PATH'環境變量是有用的,而不是在這種情況下,這是一個腳本文件名作爲參數傳遞給Perl可執行文件。 – WingedKnight

回答

0

這不是Perl的問題,它更多的是與你的$PATH變量有關。

如果你在最新窗口10,你可以通過附加export PATH=<your directory here>:$PATH到該文件末尾的目錄添加到您的.bashrc文件。

或者,您也可以通過菜單將該目錄添加到PATH。 Edit Environment Variables via the "Advanced" section of "System Properties"

然後重新啓動命令行窗口,你可以這樣運行腳本:

SomeScript.pl 
+0

我不明白你的意思。沒有'.bashrc'文件,因爲shell是Windows命令提示符,而不是Bash。如果您的意思是將腳本目錄添加到Windows'%PATH%'環境變量中,我已經嘗試過了,並且它不起作用;當決定在何處查找腳本時,Perl顯然不檢查Windows的'%PATH%'環境變量。 – WingedKnight

+0

你不能做你在問什麼。只有可執行程序在路徑中搜索,而不是參數。你的腳本不是可執行文件。將目錄放入%PATH%將不會執行任何操作。如果你真的想設置一個變量'set MYFILE = c:\ foo \ bar \ script.pl',那麼你可以執行'perl%MYFILE%' –

+0

這是可能的,請參閱鏈接http:// stackoverflow。 com/questions/23400030/windows-7-add-path –

0

這是可能在至少某些Windows皮爾斯(我用草莓5.24)。

  1. 將所需的路徑添加到您的Windows PATH。 控制面板>系統>高級系統設置>環境變量

  2. 用-S開關運行perl。

    的perl -S program.plx

所有常見的管理路徑的頭痛應用(例如,與該名稱的第一個文件被運行)。

+0

非常感謝!這工作!我試圖讓你喜歡,但作爲一個新用戶,我顯然沒有足夠的信譽來支持你。 – WingedKnight

+0

我想也許有一個選項來標記/接受它作爲答案。我也是新人,所以我不確定。 – mp3

相關問題