tweaks-for-windows/hvswitch.cmd

67 lines
1.3 KiB
Batchfile

pushd "%~dp0"
@echo off
goto :Start
--------------------------------------------------
Microsoft Hyper-V switch on/off
Positional parameters:
[1] qn - execution without pauses
[2] y - enable Hyper-V, if it off
n - disable Hyper-V, if it on
Administrator rights required
--------------------------------------------------
:Start
set choice=%~2
:Admin_Check
openfiles >nul 2>&1
if %errorLevel% == 0 (
set code=0
) else (
set code=5
cls
echo Restart this as Administrator!
goto :Exit
)
:HV_Check
bcdedit /enum | FINDSTR /IL "hypervisorlaunchtype" | FINDSTR /IL "auto"
if %errorLevel% EQU 0 (
set state=auto
) else (
set state=off
)
:HV_Choice
cls
if "%choice%" EQU "y" (
if "%state%" EQU "auto" goto :Exit
goto :HV_enable
)
if "%choice%" EQU "n" (
if "%state%" NEQ "auto" goto :Exit
goto :HV_disable
)
set /p choice= Do you need a Hyper-V enabled? [y or no]:
goto :HV_Choice
:HV_enable
echo Hyper-V enabled...
bcdedit /set hypervisorlaunchtype auto
shutdown -r -f -t 5 -c "After 5 seconds, the computer will restart"
goto :Exit
:HV_disable
echo Hyper-V disabled...
bcdedit /set hypervisorlaunchtype off
shutdown -r -f -t 5 -c "After 5 seconds, the computer will restart"
goto :Exit
:Exit
if "%~1" NEQ "qn" pause
popd
exit %code%