Às vezes, você precisa criar um arquivo em lote que inclui comandos que exigem direitos elevados. Devido à função UAC incluída no Windows desde o Windows Vista, ao iniciar um arquivo em lote, ele abre sem os direitos de acesso necessários, a menos que você clique com o botão direito e selecione 'Executar como Administrador' no menu de contexto. Aqui está como você pode criar um arquivo em lote que se elevará automaticamente.
Propaganda
Antes de continuar, veja como adicionar o arquivo de lote (* .bat) ao novo menu do Explorador de arquivos . Coloque o seguinte conteúdo no início de seu arquivo em lote:
como ativar notificações para instagram
::::::::::::::::::::::::::::::::::::::::::::::::::Verifique e obtenha automaticamente direitos de administrador V2 ::::::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO =============================== ECHO Executando shell de Admin ECHO ================= ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' para %% k em (% 0) do set batchName = %% ~ nk set 'vbsGetPrivileges =% temp% OEgetPriv_% batchName% .vbs 'setlocal EnableDelayedExpansion: checkPrivileges NET FILE 1> NUL 2> NUL if'% errorlevel% '==' 0 '(goto gotPrivileges) else (goto getPrivileges): getPrivileges if'% 1 '==' ELEV '(echo ELEV & shift / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Invocando UAC para escalonamento de privilégios ECHO **** *********************************** ECHO Set UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO para cada strArg em WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Próximo >> '% vbsGetPrivileges%' ECHO UAC.ShellExecute '! BatchPath!', Args, '', 'runas', 1 >> '% vbsGetPrivileges%' '% SystemRoot% System32 WScript.exe' '% vbsGetPrivileges % '% * exit / B: gotPrivileges setlocal & pushd. cd / d% ~ dp0 if '% 1' == 'ELEV' (del '% vbsGetPrivileges%' 1> nul 2> nul & shift / 1) ::::::::::::::::: ::::::::::::: :: START :::::::::::::::::::::::::::::::: REM Execute o shell como admin (exemplo ) - coloque aqui o código como quiser ECHO% batchName% Argumentos:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Coloque seus próprios comandos de lote que requerem elevação abaixo da última linha.
O código fornecido criará um arquivo VBS especial que o reiniciará se não estiver sendo executado como Administrador. Portanto, se você iniciá-lo com permissões limitadas, receberá um prompt do UAC solicitando que você eleve os privilégios antes de executar seus comandos!
Esta é a aparência do Windows 10:
Os créditos para este código vão para Matt .