用于定位Visual Studio安装的Perl脚本

时间:2014-03-13 13:23:27

标签: perl

我有一个perl脚本,可以在计算机上找到Visual C安装。它适用于同事机器。它在我的机器上失败了。我认为这是因为我有一个不同版本的Visual Studio,它安装在不同的位置。

这是我认为失败的地方

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

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

Q1。有人能解释一下$ ENV {“PATH”};是什么? grep函数说它是一个列表。什么列表?

Q2。我的VS位置是“C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \”为什么这个脚本找不到它?

我之前从未使用过perl。请善待!感谢。

3 个答案:

答案 0 :(得分:1)

$ENV{"PATH"}是perl PATH环境变量。在您的示例grep过滤器列表中,大小等于1,因此

可以发出相同的效果
if ($path =~ /VC/) { .. }

您的VS似乎不在路径中,可以通过set path

从命令行进行检查

答案 1 :(得分:0)

我的机器上安装了VS 2010和VS 2013 在我的道路上什么也没有,我相信视觉工作室与相对路径一起工作 我认为您需要类似this之类的内容来查看已安装的软件。

答案 2 :(得分:0)

Visual Studio不会为正常安装更新PATH。 Visual Studio版本中有几个命令行工具集,某些计算机安装了两个或更多版本。这些将导致问题应该放在PATH中。为了避免这种情况,Visual Studio会为命令窗口安装许多快捷方式,并为各种目的设置正确的路径。这些文件将写入“ Visual Studio 2013 \ Visual Studio工具”和“ Microsoft Visual Studio 2012 \ Visual Studio工具”的开始菜单文件夹中。

要查找已安装的版本,您可能最好查看安装Visual Studio软件的目录。 C:\Program Files等类似的地方。