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:

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

Как да дефрагментирате устройство в Windows 10

Как да дефрагментирате устройство в Windows 10

Оптимизирането на вътрешното дисково устройство на вашия компютър е много важен процес, който под...

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

Как да преместите файл на страницата в Windows 10 на друг диск

Как да преместите файл на страницата в Windows 10 на друг диск

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

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

Как да дефрагментирате устройство в Windows 10

Как да дефрагментирате устройство в Windows 10

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

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