Понякога трябва да създадете команден файл, който включва команди, които изискват повишени права. Поради функцията UAC, включена в Windows от Windows Vista, при стартиране на партиден файл той се отваря без необходимите права за достъп, освен ако не щракнете с десния бутон на мишката и изберете „Run as Administrator“ от контекстното меню. Ето как можете да създадете партиден файл, който автоматично ще се издигне.
Реклама
Преди да продължите, вижте как да добавите партиден файл (* .bat) към ново меню на File Explorer . Поставете следното съдържание в началото на вашия партиден файл:
лентата на задачите на Windows 10 и менюто "Старт" не работят
:::::::::::::::::::::::::::::::::::::::::: :: Автоматично проверявайте администраторски права V2 ::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Стартираща административна обвивка 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, ако'% errorlevel% '==' 0 '(goto gotPrivileges) else (goto getPrivileges): getPrivileges if'% 1 '==' ELEV '(echo ELEV & shift / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Извикване на UAC за привилегирована ескалация ECHO **** ********************************** ECHO Set UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO За всеки strArg в WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Напред >> '% vbsGetPrivileges%' ECHO UAC.ShellExecute '! BatchPath!', Args, '', 'runas', 1 >> '% vbsGetPrivileges%' '% SystemRoot% System32 WScript.exe' '% vbsGetPrivileges % '% * изход / B: gotPrivileges setlocal & pushd. cd / d% ~ dp0, ако '% 1' == 'ELEV' (del '% vbsGetPrivileges%' 1> nul 2> nul & shift / 1) :::::::::::::::: :::::::::::: :: START ::::::::::::::::::::::::::: REM Стартиране на черупката като администратор (пример ) - поставете тук кода, както ви харесва ECHO% batchName% Аргументи:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Поставете свои собствени командни команди, които изискват кота под последния ред.
Предоставеният код ще създаде специален VBS файл, който ще го рестартира, ако не работи като администратор. Така че, ако го стартирате с ограничени разрешения, ще получите подкана за UAC с искане да повишите привилегиите, преди да изпълни командите си!
Ето как изглежда в Windows 10:
Кредити за този код отиват на Мат .