vs2012 无法使用命令行提示符?
提示:
ERROR: Cannot determine the location of the VS Common Tools folder.
百度了很多方法,,都是直接修改vcvars32.bat文件指定具体路径:
VS2012命令提示符无法使用的解决方法
打开VS2012命令提示符时报错“ERROR: Cannot determine the location of the VS Common Tools folder.”
解决方法:
1.打开计算机->属性->高级系统设置
2.新建变量VS110COMNTOOLS,属性值设置为C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
3.打开编译VC\bin目录下的vcvars32.bat文件,在第一行添加下列语句:
@echo Setting environment for using Microsoft Visual Studio 2012 x64 tools@SET VSINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0@SET VCINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0\VC@SET FrameworkDir32=c:\Windows\Microsoft.NET\Framework@SET FrameworkVersion32=v4.0.30319@SET Framework35Version=v3.5
并注释掉下列语句:
::@call :GetVSCommonToolsDir::@if "%VS110COMNTOOLS%"=="" goto error_no_VS110COMNTOOLSDIR
::@call "%VS110COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit
根本原因:公司禁用了注册表编辑器
查看vcvars32.bat代码,可以看到,它使用reg命令从注册表取路径。由于禁用了注册表编辑器,reg无法运行。所以取不到路径。
:GetVSCommonToolsDir
@set VS110COMNTOOLS=
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKCU > nul 2>&1
@exit /B 0
:GetVSCommonToolsDirHelper32
@for /F "tokens=1,2*" %%i in (‘reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "11.0"’) DO (
@if "%%i"=="11.0" (
@SET "VS110COMNTOOLS=%%k"
)
)
@if "%VS110COMNTOOLS%"=="" exit /B 1
@SET "VS110COMNTOOLS=%VS110COMNTOOLS%Common7\Tools\&;
@exit /B 0
解决办法:
取消禁用注册表编辑器!
都会有回报,愿你天天开心。