Como usar um Script com direitos de administrador


Última atualização em 26 de Junho, 2021 por Vítor Fernandes.

O batch é um ficheiro de texto que contém linhas com código que pode ser executado sequencialmente pelo interpretador de comandos do MS-DOS ou Windows. Eles são identificados pelas extensões .bat ou .cmd.
wikipedia

Coloca o código abaixo a seguir a @echo off

Isto solicitará direitos de permissão de administrador após a execução do script. Fantástico, não achas?

@echo off

> nul 2>&1 "%systemroot%\system32\cacls.exe" "%systemroot%\system32\config\system"
 
if '%errorlevel%' neq '0' (
    goto abriruac
) else ( 
    goto abrirbatch
)
 
:abriruac
echo set uac = createobject^("shell.application"^) > "%temp%\privilegio.vbs"
echo uac.shellexecute "%~s0", "", "", "runas", 1 >> "%temp%\privilegio.vbs"
"%temp%\privilegio.vbs"
exit /b 0
 
:abrirbatch
if exist "%temp%\privilegio.vbs" ( 
    del "%temp%\privilegio.vbs" 
)
pushd "%cd%"
cd /d "%~dp0"

set path=%~dp0;%path%