Windows Tips & News

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

click fraud protection
РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительность системы

Иногда вам нужно создать командный файл, который включает команды, требующие повышенных прав. Благодаря функции UAC, включенной в Windows, начиная с Windows Vista, при запуске командного файла он открывается без необходимые права доступа, если вы не щелкните его правой кнопкой мыши и не выберете "Запуск от имени администратора" в контексте меню. Вот как вы можете создать командный файл, который будет автоматически повышаться.

Рекламное объявление


Прежде чем продолжить, см. как добавить командный файл (* .bat) в новое меню проводника. Поместите следующий контент в начало вашего командного файла:
:: Автоматическая проверка и получение прав администратора V2. @ эхо выкл. CLS. ЭХО. ECHO ECHO Запуск оболочки администратора. ЭХО: инициализация. setlocal DisableDelayedExpansion. установить "batchPath =% ~ 0" для %% k в (% 0) установите batchName = %% ~ nk. установите "vbsGetPrivileges =% temp% \ OEgetPriv_% batchName% .vbs" setlocal EnableDelayedExpansion: checkPrivileges. ЧИСТЫЙ ФАЙЛ 1> NUL 2> NUL. if '% errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges): getPrivileges. если '% 1' == 'ELEV' (echo ELEV & shift / 1 & goto gotPrivileges) ЭХО. ЭХО ************************************** ECHO Вызов UAC для повышения привилегий. ECHO ************************************* ECHO Set 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%"% * exit / B: gotPrivileges. setlocal и pushd. cd / d% ~ dp0. if '% 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 и оптимизировать производительность системы
Очистить историю обновлений Windows в Windows 10

Очистить историю обновлений Windows в Windows 10

РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительн...

Читать далее

Переместить панель быстрого доступа под лентой в проводнике

Этот веб-сайт использует файлы cookie, чтобы улучшить вашу работу во время навигации по веб-сайту...

Читать далее

Отключить полупрозрачный прямоугольник выделения в Windows 10

Отключить полупрозрачный прямоугольник выделения в Windows 10

РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительн...

Читать далее