Kako automatski podići batch datoteku da biste je pokrenuli kao administrator
Ponekad trebate stvoriti batch datoteku koja uključuje naredbe koje zahtijevaju povišena prava. Zbog UAC funkcije uključene u sustav Windows od Windows Vista, kada se pokrene batch datoteka, otvara se bez potrebna prava pristupa osim ako ga ne kliknete desnom tipkom miša i odaberete "Pokreni kao administrator" iz konteksta Jelovnik. Evo kako možete stvoriti batch datoteku koja će se automatski podići.
Prije nego nastavite, pogledajte kako dodati Batch datoteku (*.bat) u Novi izbornik File Explorera. Postavite sljedeći sadržaj na početak svoje batch datoteke:
:: Automatski provjeri i dobij administratorska prava V2. @eho isključen. CLS. JEKA. ECHO ECHO Pokretanje administratorske ljuske. ECHO :init. setlocal DisableDelayedExpansion. postavi "batchPath=%~0" za %%k u (%0) postavite batchName=%%~nk. postavi "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. NETO DATOTEKA 1>NUL 2>NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges. ako '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) JEKA. JEKA ************************************** ECHO Pozivanje UAC-a za eskalaciju privilegija. ECHO ************************************** ECHO Postavi UAC = CreateObject^("Shell. Aplikacija"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO Za svaki strArg u WScript-u. Argumenti >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Sljedeće >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* izlaz /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. ako je '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Pokrenite shell kao administrator (primjer) - stavite ovdje kod kako želite. ECHO %batchName% Argumenti: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Postavite vlastite skupne naredbe koje zahtijevaju elevaciju ispod zadnjeg retka.
Dostavljeni kod će stvoriti posebnu VBS datoteku koja će je ponovno pokrenuti ako ne radi kao administrator. Dakle, ako ga pokrenete s ograničenim dopuštenjima, dobit ćete UAC prompt koji od vas traži da povisite privilegije prije nego što pokrene svoje naredbe!
Evo kako to izgleda u sustavu Windows 10: