ftype Microsoft.PowerShellScript.1=C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe "& '%%1'"
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -command "& { Set-ExecutionPolicy Bypass }"
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -command "& { Set-ExecutionPolicy Bypass }"
@echo off
REM ------------------------------------------------------------------------------
REM .NET Framework僶乕僕儑儞帺摦専弌梡僶僢僠丒僼傽僀儖乮2012擭10寧26擔斉乯
REM
REM Windows TIPS丗 .NET Framework偺僶乕僕儑儞傪妋擣偡傞曽朄
REM http://www.atmarkit.co.jp/ait/articles/1210/26/news086.html
REM Copyright (C) 2000-2012 Digital Advantage Corp.
REM ------------------------------------------------------------------------------
setlocal
REM ----- 堷悢乮儕儌乕僩丒僐儞僺儏乕僞柤乯偺妋擣
if %1. == . (
set RemoteName=
echo ----- 儘乕僇儖丒僐儞僺儏乕僞乮%COMPUTERNAME%乯 -----
) else (
set RemoteName=%1\
echo ----- %1 -----
)
REM ----- 儗僕僗僩儕偵嶲徠偱偒傞偐妋擣
reg query %RemoteName%HKLM\SOFTWARE\Microsoft 1>nul
if errorlevel 1 (
echo %0丗 儗僕僗僩儕傪嶲徠偱偒傑偣傫丅僄儔乕偑敪惗偟傑偟偨丅
endlocal
exit /b
)
REM ----- 儗僕僗僩儕丒僄儞僩儕偺巜掕
set RegKey11=%RemoteName%HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP
REM ----- 奺僶乕僕儑儞偺妋擣
call :Detect10
call :Detect11_35 ".NET Framework 1.1" "%RegKey11%\v1.1.4322"
call :Detect11_35 ".NET Framework 2.0" "%RegKey11%\v2.0.50727"
call :Detect11_35 ".NET Framework 3.0" "%RegKey11%\v3.0"
call :Detect11_35 ".NET Framework 3.5" "%RegKey11%\v3.5"
call :Detect4 ".NET Framework 4" "%RegKey11%\v4"
REM ----- 廔椆張棟
endlocal
exit /b
REM --------------------------------------
REM ----- .NET Framework 1.0偺専弌
:Detect10
set RegKey10_Inst=%RemoteName%HKLM\SOFTWARE\Microsoft\NET Framework Setup\Full\v1.0.3705\1041\Microsoft .NET Framework Full v1.0.3705 (1041)
set RegKey10_SP=%RemoteName%HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
REM ----- 僀儞僗僩乕儖偺妋擣
reg query "%RegKey10_Inst%" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if errorlevel 1 goto NoExist10
REM ----- Service Pack儗儀儖偺妋擣
reg query "%RegKey10_SP%\{78705f0d-e8db-4b2d-8193-982bdda15ecd}" /v "Version" 2>nul | find /I "Version" 1> temp-RegOut.log 2>nul
reg query "%RegKey10_SP%\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24}" /v "Version" 2>nul | find /I "Version" 1>> temp-RegOut.log 2>nul
REM ----- 弶婜斉偺妋擣
find /I "1,0,3705,0" temp-RegOut.log 1>nul 2>nul && echo .NET Framework 1.0 弶婜斉偑僀儞僗僩乕儖嵪傒偱偡
REM ----- SP1乛SP2乛SP3偺妋擣
for %%i in (1 2 3) do (find /I "1,0,3705,%%i" temp-RegOut.log 1>nul 2>nul && echo .NET Framework 1.0 Service Pack %%i 偑僀儞僗僩乕儖嵪傒偱偡)
:NoExist10
if exist temp-RegOut.log del temp-RegOut.log
exit /b
REM -----
REM --------------------------------------
REM ----- .NET Framework 1.1乛2.0乛3.0乛3.5 偺専弌
:Detect11_35
REM ----- 僀儞僗僩乕儖偺妋擣
reg query "%~2" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if errorlevel 1 goto NoExist11
reg query "%~2" /v "SP" 2>nul | find /I "SP" 1> temp-RegOut.log 2>nul
if errorlevel 1 goto NoExist11
REM ----- 弶婜斉偺妋擣
find /I "0x0" temp-RegOut.log 1>nul 2>nul && echo %~1 弶婜斉 偑僀儞僗僩乕儖嵪傒偱偡
REM ----- SP1乛SP2乛SP3偺妋擣
for %%i in (1 2 3) do (find /I "0x%%i" temp-RegOut.log 1>nul 2>nul && echo %~1 Service Pack %%i 偑僀儞僗僩乕儖嵪傒偱偡)
REM ----- 擔杮岅 Language Pack偺妋擣
set LangPath=
reg query "%~2\Setup\1041" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul && set LangPath=%~2\Setup\1041
reg query "%~2\1041" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul && set LangPath=%~2\1041
if "%LangPath%" == "" (
echo 丂擔杮岅Language Pack偼僀儞僗僩乕儖偝傟偰偄傑偣傫
) else (
reg query "%LangPath%" /v "SP" 2>nul | find /I "SP" 1> temp-RegOut.log 2>nul
find /I "0x0" temp-RegOut.log 1>nul 2>nul && echo 丂擔杮岅Language Pack乮弶婜斉乯偑僀儞僗僩乕儖嵪傒偱偡
for %%i in (1 2 3) do (find /I "0x%%i" temp-RegOut.log 1>nul 2>nul && echo 丂擔杮岅Language Pack乮Service Pack %%i乯偑僀儞僗僩乕儖嵪傒偱偡)
)
:NoExist11
if exist temp-RegOut.log del temp-RegOut.log
exit /b
REM -----
REM --------------------------------------
REM ----- .NET Framework 4乛4.5 偺専弌
:Detect4
REM ----- 儔儞僞僀儉偺僀儞僗僩乕儖偺妋擣
reg query "%~2\Full" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if not errorlevel 1 (
REM ----- 儔儞僞僀儉偺僶乕僕儑儞偺妋擣乮4.5乯
reg query "%~2\Full" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.5." 1>nul 2>nul
if not errorlevel 1 (
echo .NET Framework 4.5 偑僀儞僗僩乕儖嵪傒偱偡
REM ----- 擔杮岅 Language Pack偺僀儞僗僩乕儖偺妋擣乮4.5乯
reg query "%~2\Full\1041" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if not errorlevel 1 (
REM ----- 擔杮岅 Language Pack偺僶乕僕儑儞偺妋擣乮4.5乯
reg query "%~2\Full\1041" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.5." 1>nul 2>nul
if not errorlevel 1 (
echo 丂擔杮岅Language Pack偑僀儞僗僩乕儖嵪傒偱偡
) else (
reg query "%~2\Full\1041" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.0." 1>nul 2>nul
if not errorlevel 1 (
echo 丂.NET Framework 4梡偺擔杮岅Language Pack偑僀儞僗僩乕儖偝傟偰偄傑偡
) else (
echo 丂僶乕僕儑儞晄柧偺擔杮岅Language Pack偑僀儞僗僩乕儖偝傟偰偄傑偡
)
)
) else (
echo 丂擔杮岅Language Pack偼僀儞僗僩乕儖偝傟偰偄傑偣傫
)
) else (
REM ----- 儔儞僞僀儉偺僶乕僕儑儞偺妋擣乮4 僼儖乯
reg query "%~2\Full" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.0." 1>nul 2>nul
if not errorlevel 1 (
echo .NET Framework 4乮僼儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
REM ----- 擔杮岅 Language Pack偺僀儞僗僩乕儖偺妋擣乮4 僼儖乯
reg query "%~2\Full\1041" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if not errorlevel 1 (
REM ----- 擔杮岅 Language Pack偺僶乕僕儑儞偺妋擣乮4 僼儖乯
reg query "%~2\Full\1041" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.0." 1>nul 2>nul
if not errorlevel 1 (
echo 丂擔杮岅Language Pack乮僼儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
) else (
echo 丂僶乕僕儑儞晄柧偺擔杮岅Language Pack偑僀儞僗僩乕儖偝傟偰偄傑偡
)
) else (
echo 丂擔杮岅Language Pack偼僀儞僗僩乕儖偝傟偰偄傑偣傫
)
) else (
echo 壗傜偐偺僶乕僕儑儞偺.NET Framework 4.x乮僼儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
)
)
) else (
REM ----- 儔儞僞僀儉偺僀儞僗僩乕儖偺妋擣乮4 僋儔僀傾儞僩丒僾儘僼傽僀儖乯
reg query "%~2\Client" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if not errorlevel 1 (
REM ----- 儔儞僞僀儉偺僶乕僕儑儞偺妋擣乮4 僋儔僀傾儞僩丒僾儘僼傽僀儖乯
reg query "%~2\Client" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.0." 1>nul 2>nul
if not errorlevel 1 (
echo .NET Framework 4乮僋儔僀傾儞僩丒僾儘僼傽僀儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
REM ----- 擔杮岅 Language Pack偺僀儞僗僩乕儖偺妋擣乮4 僋儔僀傾儞僩丒僾儘僼傽僀儖乯
reg query "%~2\Client\1041" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul
if not errorlevel 1 (
REM ----- 擔杮岅 Language Pack偺僶乕僕儑儞偺妋擣乮4 僋儔僀傾儞僩丒僾儘僼傽僀儖乯
reg query "%~2\Client\1041" /v "Version" 2>nul | find /I "Version" 2>nul | find /I "4.0." 1>nul 2>nul
if not errorlevel 1 (
echo 丂擔杮岅Language Pack乮僋儔僀傾儞僩丒僾儘僼傽僀儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
) else (
echo 丂僶乕僕儑儞晄柧偺擔杮岅Language Pack偑僀儞僗僩乕儖偝傟偰偄傑偡
)
) else (
echo 丂擔杮岅Language Pack偼僀儞僗僩乕儖偝傟偰偄傑偣傫
)
) else (
echo 壗傜偐偺僶乕僕儑儞偺.NET Framework 4.x乮僋儔僀傾儞僩丒僾儘僼傽僀儖斉乯 偑僀儞僗僩乕儖嵪傒偱偡
)
)
)
exit /b
REM -----