De vegades cal crear un fitxer per lots que inclogui ordres que requereixen drets elevats. A causa de la funció UAC inclosa al Windows des del Windows Vista, quan s'inicia un fitxer per lots, s'obre sense els drets d'accés requerits tret que hi feu clic dret i seleccioneu 'Executa com a administrador' al menú contextual. A continuació s'explica com podeu crear un fitxer per lots que s'elevarà automàticament.
Anunci publicitari
Abans de continuar, vegeu com afegir fitxer per lots (* .bat) al menú nou de l'Explorador de fitxers . Col·loqueu el contingut següent al començament del fitxer per lots:
Com puc esbrinar l'aniversari d'algú?
::::::::::::::::::::::::::::::::::::::::::: :: Comprova i obtén automàticament drets d'administrador V2 ::::::::::::::::::::::::::::::::::::::::::: @ @ off CLS ECHO. ECHO ============================= ECHO Execució de l'intèrpret d'administració ECHO =============== ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' for %% k in (% 0) do set batchName = %% ~ nk set 'vbsGetPrivileges =% temp% OEgetPriv_% batchName% .vbs 'setlocal EnableDelayedExpansion: checkPrivileges NET FILE 1> NUL 2> NUL si'% errorlevel% '==' 0 '(vés a obtenirPrivilegis) else (vés a getPrivileges): getPrivileges si'% 1 '== ELEV '(eco ELEV & shift / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Invocant UAC per escalar privilegis ECHO **** *********************************** ECHO Establir UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO per a cada strArg de WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Next >> '% 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) :::::::::::::::: :::::::::::: :: INICI :::::::::::::::::::::::::::: REM Executa el shell com a administrador (exemple ): poseu aquí el codi que vulgueu ECHO% batchName% Arguments:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Col·loqueu les vostres pròpies ordres de lot que requereixen elevació per sota de l'última línia.
El codi proporcionat crearà un fitxer VBS especial que el reiniciarà si no s’executa com a administrador. Per tant, si el llanceu amb permisos limitats, rebrà una sol·licitud de UAC que us demanarà que eleveu els privilegis abans que executi les seves ordres.
Així és com es veu a Windows 10:
Els crèdits d’aquest codi van a Mat .