Windows Tips & News

Як перевірити пакетний файл, якщо ви використовуєте його з підвищеними можливостями

click fraud protection

Іноді корисно перевірити в пакетному файлі, чи він був запущений з командного рядка з підвищеними привілеями або як адміністратор. Я хотів би поділитися з вами трюком, який я використовую для цього. Основна ідея мого трюку заснована на значенні спеціальної змінної середовища %errorlevel%, яка зберігає код виходу для більшості консольних програм і команд. Давайте подивимося на це в дії.

Коли деяка консольна програма виконує свою роботу належним чином, змінна %errrorlevel% зберігає 0 як своє значення.
Відкрийте новий екземпляр командного рядка і запустіть команду "dir". Після цього надрукуйте значення %errorlevel% за допомогою команди "echo":

реж. echo %errorlevel%

Він видасть 0 як вихід.

Тепер давайте спробуємо виконати команду, яка вимагає підвищення, із звичайного вікна командного рядка без підвищення. Наприклад, давайте спробуємо відкриті файли команда, яка вимагає прав адміністратора.
Якщо ви надрукуєте значення %errorlevel%, воно не буде 0, оскільки команда openfiles не зможе показати відкриті файли без прав адміністратора.



Однак, якщо ви запускаєте його з підвищеного командного рядка (ось як відкрити командний рядок адміністратора), він покаже вам відкриті файли та поверне 0, як і очікувалося.

Використовуючи цю функцію, можна реалізувати просту перевірку в пакетному файлі:

@echo off. openfiles > NUL 2>&1 якщо НЕ %ERRORLEVEL% EQU 0 перейти до NotAdmin echo Привіт із підвищеного командного рядка перейти до End :NotAdmin echo Цей командний рядок НЕ ПІДВИЩЕНИЙ :End. 

Зауважте, що я використовую перенаправлення виводу, щоб придушити будь-який вихід з команди openfiles. У частині "> NUL 2>&1" вихідні дані команди за замовчуванням перенаправляються в нікуди (NUL), а вихідні дані про помилку перенаправляються на стандартний вихід, тобто також на NUL.
Замість команди openfiles можна використовувати будь-яку команду, яка вимагає підвищення, наприклад, the чиста сесія команда.
Це воно.

Windows 10 Введіть Emoji за допомогою архівів клавіатури

Цей веб-сайт використовує файли cookie, щоб покращити ваш досвід під час навігації веб-сайтом. З ...

Читати далі

Уникайте двох перезавантажень із подвійним завантаженням Windows 10 і Windows 7

Уникайте двох перезавантажень із подвійним завантаженням Windows 10 і Windows 7

РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність систе...

Читати далі

Вимкніть індексування пошуку під час роботи від акумулятора в Windows 10

Вимкніть індексування пошуку під час роботи від акумулятора в Windows 10

Windows 10 має можливість індексувати ваші файли, щоб у меню «Пуск» можна було їх шукати швидше. ...

Читати далі