Windows Tips & News

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

click fraud protection
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:

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

Излезе Firefox 77, ето какво е новото

Излезе Firefox 77, ето какво е новото

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

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

Възстановете класическата адресна лента във Firefox 77

Възстановете класическата адресна лента във Firefox 77

Как да възстановите класическата адресна лента във Firefox 77Firefox 75 въведе нова адресна лента...

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

Издаден Firefox 75, ето какво е новото

Издаден Firefox 75, ето какво е новото

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

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