PowerShell 配置VisualStudio 命令行环境
发布时间:2020-12-15 07:14:02 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ##################################################################################### VisualStudio Environment Process Script VisualStudio 2
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 <#################################################################################### # VisualStudio Environment Process Script VisualStudio 2013 # Note: This Script Support Visual Studio 2013 # Author: Mr.Lee # Copyright ? By Huxizero.Studio # ToolChain: X86 ####################################################################################> #Global <#################################################################################### # Default Visual Studio 2013 x86 native # VisualStudio 110 # VisualStudio 120 # X86 X64 ARM ####################################################################################> <#==========================================================================######## # Visual Studio 100,110,120 # x86 AMD64 ARM # # $>>2013.10.29 Add .Net Framework Support,Framework 4.0 or Later; # ######============================================================================#> <##-------------------------------------------------------------------------------- # $VSKit= '8.1' or '8.0' or '7.0A' # $SysNode='SOFTWAREWow6432Node' or 'SOFTWARE' # #----------------------------------------------------------------------------#######> Function Get-RegistryValue($key,$value) { (Get-ItemProperty $key $value).$value } Function Print-VisualStudioNotFound($VSVer,$VSPATH) { Write-Host -ForegroundColor Red "Can not find $VSVer,Please seized car in this directory(${VSPATH}) VisualStudio version and installation" Start-Sleep 3 } If($args.Count -ge 2) { $VisualStudio=$args[0] $Platform=$args[1] #$args[2] } ELSE { exit } $InvokeScript=[System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Definition) #Set-Location $InvokeScript if( ([System.Environment]::OSVersion.Version.Major -gt 5) -and ( # Vista and ... new-object Security.Principal.WindowsPrincipal ( [Security.Principal.WindowsIdentity]::GetCurrent()) # current user is admin ).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) ) { $EnvTitle="${env:UserName}@${env:UserDomain} [A] (X86)" } ELSE { $EnvTitle="${env:UserName}@${env:UserDomain} (X86) " } $Host.UI.RawUI.WindowTitle="$EnvTitle - $PWD" IF(${env:ProgramFiles(x86)} -eq $null) { $SystemType=32 $ProgramDir=${env:ProgramFiles} } ELSE { $SystemType=64 #SDK Install On ${ProgramDir} $ProgramDir=${env:ProgramFiles(x86)} } #$VS_120 = Write-Host "Your Select Visual Studio is: $VisualStudio,And Your Select Platform:$Platform,And Your Host System is: $SystemType" $reI=[System.String]::Compare($VisualStudio,"VS120",$True) $reII=[System.String]::Compare($VisualStudio,"VS110",$True) $reIII=[System.String]::Compare($VisualStudio,"VS100",$True) IF($reI -eq 0) { #Write-host "VS120 LALALAL" Write-Host "Check Visual Studio 2013 Install !!!!!" $DefaultFramework=4.51 IF($env:VS120COMNTOOLS -eq $null) { Print-VisualStudioNotFound 'VisualStudio 2013' "${env:VS120COMNTOOLS}" exit } $IDE="${env:VS120COMNTOOLS}..IDE" if($SystemType -eq 64) { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' '12.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' '12.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.1' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools-x64' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkDir64' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkVer64' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudio12.0SetupF#' 'ProductDir' } else { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVS7' '12.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' '12.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.1' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkDir32' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkVer32' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudio12.0SetupF#' 'ProductDir' } $KitBin32="${SDKDIR}binx86" $kitBin64="${SDKDIR}binx64" $KitBinARM="${SDKDIR}binARM" $KitInc="${SDKDIR}Includeum;${SDKDIR}IncludeShared;${SDKDIR}IncludeWinRT" $KitLib32="${SDKDIR}Libwinv6.3umx86" $KitLib64="${SDKDIR}Libwinv6.3umx64" $KitLibARM="${SDKDIR}LIBwinv6.3umARM" } ELSEIF($reII -eq 0) { $DefaultFramework=4.5 Write-Host "Check Visual Studio 2012 Install !!!!!" IF($env:VS110COMNTOOLS -eq $null) { Print-VisualStudioNotFound 'VisualStudio 2012' "${env:VS110COMNTOOLS}" exit } $IDE="${env:VS110COMNTOOLS}..IDE" if($SystemType -eq 64) { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' '11.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' '11.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.0' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools-x64' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkDir64' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkVer64' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudio11.0SetupF#' 'ProductDir' #$NetTools="${NetTools}bin" } else { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVS7' '11.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' '11.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.0' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkDir32' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkVer32' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudio11.0SetupF#' 'ProductDir' } $KitBin32="${SDKDIR}binx86" $kitBin64="${SDKDIR}binx64" $KitBinARM="${SDKDIR}binARM" $KitInc="${SDKDIR}Includeum;${SDKDIR}IncludeShared;${SDKDIR}IncludeWinRT" $KitLib32="${SDKDIR}Libwin8umx86" $KitLib64="${SDKDIR}Libwin8umx64" $KitLibARM="${SDKDIR}LIBwin8umARM" } ELSEIF($reIII -eq 0) { Write-Host "Check Visual Studio 2010 Install !!!!!" IF($env:VS100COMNTOOLS -eq $null) { Print-VisualStudioNotFound 'VisualStudio 2010' "${env:VS100COMNTOOLS}" exit } $Perr=[System.String]::Compare($Platform,"ARM",$True) IF($Perr -eq 0) { Write-Host -ForegroundColor Red "Error! Visual Studio Not Support ARM Platform." Start-Sleep 5 Exit } $DefaultFramework=4.0 $IDE="${env:VS100COMNTOOLS}..IDE" if($SystemType -eq 64) { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' '10.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' '10.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv7.0A' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv7.0AWinSDK-NetFx40Tools-x64' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkDir64' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkVer64' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudio10.0SetupF#' 'ProductDir' #$NetTools="${NetTools}bin" } else { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVS7' '10.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' '10.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv7.0A' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv7.0AWinSDK-NetFx40Tools' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkDir32' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkVer32' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudio10.0SetupF#' 'ProductDir' } $KitBin32="${SDKDIR}bin" $kitBin64="${SDKDIR}binx64" $KitInc="${SDKDIR}Include" $KitLib32="${SDKDIR}Lib" $KitLib64="${SDKDIR}Libx64" } ELSE { #Write-host "VS120 LALALAL" Write-Host "Check Visual Studio 2013 Install !!!!!" $DefaultFramework=4.51 $IDE="${env:VS120COMNTOOLS}..IDE" if($SystemType -eq 64) { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' '12.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' '12.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.1' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools-x64' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkDir64' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudioSxSVC7' 'FrameworkVer64' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREWow6432NodeMicrosoftVisualStudio12.0SetupF#' 'ProductDir' } else { $VSInstall=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVS7' '12.0' $VCDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' '12.0' $SDKDIR=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.1' 'InstallationFolder' $NetTools=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftMicrosoft SDKsWindowsv8.0AWinSDK-NetFx40Tools' 'InstallationFolder' $FrameworkDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkDir32' $FrameworkVer=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudioSxSVC7' 'FrameworkVer32' $FSharpDir=Get-RegistryValue 'HKLM:SOFTWAREMicrosoftVisualStudio12.0SetupF#' 'ProductDir' } $KitBin32="${SDKDIR}binx86" $kitBin64="${SDKDIR}binx64" $KitBinARM="${SDKDIR}binARM" $KitInc="${SDKDIR}Includeum;${SDKDIR}IncludeShared;${SDKDIR}IncludeWinRT" $KitLib32="${SDKDIR}Libwinv6.3umx86" $KitLib64="${SDKDIR}Libwinv6.3umx64" $KitLibARM="${SDKDIR}LIBwinv6.3umARM" } IF($SystemType -eq 64) { $FrameworkDir="${FrameworkDir}" #$env:PATH="$FSharpDir;$env:PATH" } $env:Path="$FSharpDir;$NetTools;${FrameworkDir}${FrameworkVer};$env:Path" $re1=[System.String]::Compare($Platform,"X64",$True) $re2=[System.String]::Compare($Platform,"X86",$True) $re3=[System.String]::Compare($Platform,$True) IF($re1 -eq 0){ IF($SystemType -eq 32) { $Compiler="${VCDir}binx86_amd64" $Library="${VCDir}libamd64" $env:Path="$Compiler;$KitBin32;$IDE;${VCDIR}bin;$env:PATH" $env:INCLUDE="$KitInc;${VCDir}Include;$env:INCLUDE" $env:LIB="$KitLib64;${VCDir}Libamd64;$env:LIB" } ELSE{ $Compiler="${VCDir}binamd64" $Library="${VCDir}libamd64" $env:Path="$Compiler;$KitBin64;$IDE;$env:PATH" $env:INCLUDE="$KitInc;${VCDir}Include;$env:INCLUDE" $env:LIB="$KitLib64;${VCDir}Libamd64;$env:LIB" } #Test OK } ELSEIF($re2 -eq 0){ $Compiler="${VCDir}bin" $Library="${VCDir}lib" $env:Path="$Compiler;$KitBin32;$IDE;$env:PATH" $env:INCLUDE="$KitInc;${VCDir}Include;$env:INCLUDE" #VS120 OK $env:LIB="$KitLib32;${VCDir}LIB;$env:LIB" #echo $Compiler } ELSEIF($re3 -eq 0){ $Compiler="${VCDir}binx86_ARM" $Library="${VCDir}libarm" $env:Path="$Compiler;${VCDir}bin;$KitBinARM;$IDE;$env:PATH" $env:INCLUDE="$KitInc;${VCDir}Include;$env:INCLUDE" $env:LIB="$KitLibARM;${VCDir}LIBarm;$env:LIB" }ELSE { $Compiler="${VCDir}bin" $Library="${VCDir}lib" $env:Path="$Compiler;$KitBin32;$IDE;$env:PATH" $env:INCLUDE="$KitInc;${VCDir}Include;$env:INCLUDE" #VS120 OK $env:LIB="$KitLib32;${VCDir}LIB;$env:LIB" } #Base C/C++ Native Environment Support #///////////////////////////////////////////////////////////////////////# #Write-Host "${VCDir}..Common7IDE" #Write-Host $Compiler $Library #Write-Host $Global:WindowTitlePrefix.ToString() #Find Visual Studio 2013 #//////////////////////////////////////////////////////////////////////# #Extend C/C++ Environment #.Net Framework Check #Framework or Framework64 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |