2014-03-13 59 views
-2

我有一個perl腳本,用於查找計算機上的Visual C安裝。它適用於同事機器。它在我的機器上失敗。我認爲這是因爲我有不同版本的Visual Studio,它安裝在不同的位置。用於查找Visual Studio安裝的Perl腳本

這裏是哪裏,我認爲它是失敗

$needpath = 1; 
$path = $ENV{"PATH"}; 

if(grep(/VC/, $path)) { 
    print "Found Visual C on path\n"; 
    $needpath = 0; 
} 

Q1。有人可以解釋$ ENV {「PATH」};是什麼? grep函數說明它是一個LIST。什麼是清單? Q2302。我的VS位置是「C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \」爲什麼這個腳本找不到它?

我從來沒有用過Perl。請善待!謝謝。

回答

1

$ENV{"PATH"}是perl PATH環境變量。在您的例子grep過濾器列表,它的大小等於1,所以同樣的效果可以通過

if ($path =~ /VC/) { .. } 

發出如此看來,你的VS是不是在道路,這可以從命令行通過set path

+0

我能夠找到一種方法來通過創建另一個perl腳本來檢查PATH環境變量。它有很多東西,但不是/ VC /因此導致失敗。所以這個解決方案解釋了$ ENV,並讓我找到了答案。謝謝。 – user432209

0

我進行檢查我的機器上安裝了VS 2010和VS 2013。
我的道路上沒有任何東西,我相信視覺工作室與相對路徑工作。
我想你需要類似this的東西來查看安裝的軟件。

0

對於正常安裝,Visual Studio不更新PATH。在Visual Studio版本中有幾個可用的命令行工具集,某些計算機安裝了兩個或多個版本。這些將導致哪些版本應放置在PATH中。爲了避免這種情況,Visual Studio安裝了許多命令窗口的快捷方式,併爲各種目的設置了正確的路徑。這些被寫入「Visual Studio 2013 \ Visual Studio Tools」和「Microsoft Visual Studio 2012 \ Visual Studio Tools」的開始菜單文件夾中。

要找到安裝的版本,您可能會更好地查看安裝Visual Studio軟件的目錄。地方如C:\Program Files和類似的。