A veces es necesario crear un archivo por lotes que incluya comandos que requieran derechos elevados. Debido a la función UAC incluida en Windows desde Windows Vista, cuando se inicia un archivo por lotes, se abre sin los derechos de acceso necesarios a menos que haga clic con el botón derecho y seleccione 'Ejecutar como administrador' en el menú contextual. Así es como puede crear un archivo por lotes que se elevará automáticamente.
Anuncio
Antes de continuar, vea cómo agregar un archivo por lotes (* .bat) al nuevo menú del Explorador de archivos . Coloque el siguiente contenido al principio de su archivo por lotes:
Snapchat cómo hacer una captura de pantalla sin que ellos lo sepan
::::::::::::::::::::::::::::::::::::::::::: Verificar y obtener automáticamente derechos de administrador V2 ::::::::::::::::::::::::::::::::::::::::::::::::::: CLS ECHO. ECHO ============================= ECHO Ejecutando Admin shell ECHO =============== ==============: init setlocal DisableDelayedExpansion establece 'batchPath =% ~ 0' para %% k en (% 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 a UAC para el aumento de privilegios ECHO **** ********************************** ECHO Establecer UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO para cada strArg en WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Siguiente >> '% 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) ::::::::::::::: :::::::::::: :: INICIO :::::::::::::::::::::::::: REM Ejecutar shell como administrador (ejemplo ) - ponga aquí el código que desee ECHO% batchName% Argumentos:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Coloque sus propios comandos por lotes que requieran elevación debajo de la última línea.
El código proporcionado creará un archivo VBS especial que lo reiniciará si no se está ejecutando como administrador. Por lo tanto, si lo inicia con permisos limitados, recibirá un mensaje de UAC que le solicitará que eleve los privilegios antes de ejecutar sus comandos.
Así es como se ve en Windows 10:
Los créditos para este código van a Mate .