visual-studio - 来自 Cygwin 的 "Source"VsDevCmd.bat

标签 visual-studio batch-file visual-studio-2015 cygwin

VsDevCmd.bat 是一个为 Visual Studio 工具设置环境变量的漂亮脚本:

'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat'

我正在使用来自 Cygwin 的 Visual Studio 工具 cllink 等。我如何使用该脚本来设置所有相同的环境变量而无需在 bash 中重新创建脚本?

我可以从 cmd shell 运行批处理脚本,然后启动 bash,但这并不令人满意——我需要从 Cygwin 中启动“采购”批处理文件的过程。

最佳答案

这是我最终得到的结果。此 bash 函数将使用 VcVarsAll.bat 文件运行 cmd,然后将嵌套 bash 以打印环境变量,该变量可以被提取:

# Given envar names return their newline-separated values setup for VS2015
#
# VcVarsAll.bat is a script that sets up environment variables for Visual
# Studio command-line builds:
#
#   https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx
#
query_vcvarsall() {
  local envars=$*

  (cd '/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC' &&
   cmd /c "VcVarsAll.bat amd64 && c:/cygwin/bin/bash -c 'printenv $envars'")
}

然后设置,比如PATH:

export PATH="$(query_vcvarsall PATH)"

关于visual-studio - 来自 Cygwin 的 "Source"VsDevCmd.bat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45821276/

相关文章:

dll - Visual Studio 2015 无法识别 MonoAndroid 的 System.ObjectModel?

visual-studio - phpcs — Wordpress 编码标准在 Visual Studio 中不起作用

c# - 在 C# 'switch' 语句中更改变量

visual-studio - 是否有 Visual Studio 自动保存配置设置?

windows - 在 Batch 中终止进程并报告成功

batch-file - %~1 在这个批处理文件中做了什么?

c# - 如何搜索包含 2 个特定字符串的所有文件?

windows - & 作为 FOR/F 语句中的定界符

c# - ASP.NET 5 MVC : unable to connect to web server 'IIS Express'

css - 有什么方法可以让字体的颜色在 css 中有值(value)?