如何用Powershell替换Visual Studio命令提示符?

时间:2011-09-04 11:08:42

标签: powershell

我正在尝试以下命令的各种变体:

powershell -command "'C:\Program Files (x86)\Microsoft Visual Studio 10.0\vc\vcvarsall.bat' x86" -noexit

我希望用VS环境变量运行Powershell - 无济于事。我只是不能正确得到报价。

3 个答案:

答案 0 :(得分:5)

查看PowerShell Community Extensions。它附带一个命令来调用批处理文件,“记住”它设置的env vars并将它们带入PowerShell会话。事实上,我的个人资料就是VS vars,例如:

Import-Module Pscx

function Import-VS9Vars
{
    $vcargs = ?: {$Pscx:Is64BitProcess} {'amd64'} {'x86'}
    Push-EnvironmentBlock -Description "Before importing VS 2008 $vcargs var"
    Invoke-BatchFile "${env:VS90COMNTOOLS}..\..\VC\vcvarsall.bat" $vcargs
}

function Import-VS10Vars
{
    $vcargs = ?: {$Pscx:Is64BitProcess} {'amd64'} {'x86'}
    Push-EnvironmentBlock -Description "Before importing VS 2010 $vcargs vars"
    Invoke-BatchFile "${env:VS100COMNTOOLS}..\..\VC\vcvarsall.bat" $vcargs
}

Import-VS10Vars

重要的命令是Invoke-BatchFile。这个函数的源代码在下载中,所以如果你不想使用整个模块,你可以根据需要复制一个函数。

答案 1 :(得分:1)

从Bruce Payette的“Windows PowerShell in Action,Second Edition”中查看Get-BatchFile

Link to Get-BatchFile

  

也可以使用PowerShell中的这些批处理文件   执行它们,转储已经发生的更改   环境,然后将这些更改重新导入PowerShell   环境。

答案 2 :(得分:0)

有一个例子here

不要忘记the icons:)