Привет, я создал командный файл, который мне нужно запустить от имени администратора. Для этой цели я использую этот сценарий, который я взял из здесь (StackOverflow).
Но я хочу, чтобы если пользователь решил не запускаться от имени администратора (нажмите НЕТ для UAC), тогда программа выйдет, и пакет удалит себя автоматически.
Команда для пакетного файла на удаление самого себя - "del% 0", но мне нужна помощь относительно того, где в этом сценарии я могу поместить эту команду. Я попытался поставить его с помощью «@exit / B», но затем командный файл будет удален, если вы нажмете ДА или НЕТ для UAC, и тогда остальная часть командного файла не сможет выполняться
Кто-нибудь может помочь понять, как запускать команду «del% 0» только тогда, когда пользователь нажимает «NO» для UAC?
@echo off
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (shift & goto gotPrivileges)
setlocal DisableDelayedExpansion
set "batchPath=%~0"
setlocal EnableDelayedExpansion
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs"
ECHO UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs"
"%temp%\OEgetPrivileges.vbs"
@exit /B
:gotPrivileges
Спасибо, ребята, руна