Windows Tips & News

Как да повишите автоматично пакетен файл, за да го стартирате като администратор

4 отговора

Понякога трябва да създадете пакетен файл, който включва команди, които изискват повишени права. Поради функцията UAC, включена в Windows след Windows Vista, когато стартирате пакетен файл, той се отваря без необходимите права за достъп, освен ако не щракнете с десния бутон върху него и изберете „Изпълни като администратор“ от контекста меню. Ето как можете да създадете пакетен файл, който автоматично ще се издигне.

Преди да продължите, вижте как да добавите пакетен файл (*.bat) към новото меню на File Explorer. Поставете следното съдържание в началото на вашия пакетен файл:

:: Автоматично проверявайте и получавайте администраторски права V2. @ехото изключено. CLS. ECHO. ECHO ECHO Изпълнява се администраторска обвивка. ECHO :init. setlocal DisableDelayedExpansion. задайте "batchPath=%~0" за %%k в (%0) задайте batchName=%%~nk. задайте "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. МРЕЖЕН ФАЙЛ 1>NUL 2>NUL. if '%errorlevel%' == '0' ( отидете gotPrivileges ) else ( отидете getPrivileges ) :getPrivileges. ако '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) ECHO. ECHO ******************************************* ECHO Извикване на UAC за ескалация на привилегии. ECHO ************************************** ECHO Задайте UAC = CreateObject^("Shell. Приложение"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO за всеки strArg в WScript. Аргументи >> "%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' (дел "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Стартирайте обвивката като администратор (пример) - поставете тук код, както желаете. ECHO %batchName% Аргументи: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Поставете свои собствени групови команди, които изискват издигане под последния ред.

Предоставеният код ще създаде специален VBS файл, който ще го рестартира, ако не работи като администратор. Така че, ако го стартирате с ограничени разрешения, ще получите UAC подкана с молба да повишите привилегиите, преди да изпълни своите команди!

Ето как изглежда в Windows 10:

Кредитите за този код отиват на Мат.

Microsoft разследва Windows 10 KB4512941 високото използване на процесора от SearchUI.exe

Microsoft разследва Windows 10 KB4512941 високото използване на процесора от SearchUI.exe

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още

Изтеглете великолепни тапети от Linux Mint 18.2

Изтеглете великолепни тапети от Linux Mint 18.2

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още

Излезте от Cortana в Windows 10

Излезте от Cortana в Windows 10

Cortana е виртуален асистент в комплект с Windows 10. Cortana се появява като поле за търсене или...

Прочетете още