Windows Tips & News

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

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

Понякога трябва да създадете пакетен файл, който включва команди, които изискват повишени права. Поради функцията 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' (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:Windows 10 пакетен файл

Заявка за UAC пакетен файл на Windows 10

Windows 10 автоматично повдига пакетен файлКредитите за този код отиват на Мат.

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

Изключете емисията за новини на страницата с нов раздел в Microsoft Edge

Този уебсайт използва бисквитки, за да подобри вашето изживяване, докато навигирате през уебсайта...

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

Бутон за активиране на менюто за разширения в Microsoft Edge Chromium

Бутон за активиране на менюто за разширения в Microsoft Edge Chromium

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

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

Поправка: YouTube и Google Drive са повредени във Firefox Nightly

Поправка: YouTube и Google Drive са повредени във Firefox Nightly

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

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