我有一个请求 UAC 权限的批处理文件。当 UAC 框弹出并且用户单击按钮时,no
我希望显示消息No administration privileges granted. Now exiting.
,然后等待三秒钟再退出。目前,如果用户单击yes
按钮,UAC 提示会起作用,但在后台的单独窗口中显示我上面应用的退出消息。
我试图在文件末尾创建一个 IF 语句来指定根据“是/否”按下来发生哪种退出。
本质上,如果用户点击,我想快速退出其他命令提示符窗口yes
,或者在退出前三秒钟显示退出消息。有什么想法吗?
IF '%params%' EQU == 1 (
ECHO No administration privileges granted. Now exiting.
TIMEOUT 3 >NUL
EXIT /B
) ELSE ( EXIT )
@ECHO OFF
REM Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM Check if UAC has been granted
IF '%errorlevel%' EQU '0' (
GOTO Administration_Granted
) ELSE ( GOTO UAC_Prompt )
REM Request administration privileges
:UAC_Prompt
ECHO Requesting administration privileges.
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
SET params = %*:"=""
ECHO UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
DEL "%temp%\getadmin.vbs"
CLS
IF "%params%"=="1" (
ECHO No administration privileges granted. Now exiting.
TIMEOUT 3 >NUL
EXIT /B
) ELSE ( EXIT )
REM Administration Granted
:Administration_Granted
ECHO Administration privileges have been granted
TIMEOUT 2 >NUL
PAUSE
答案1
我打算去另一个网站提问,因为我的问题被无缘无故地降级了,评论消失了,我因为使用“请”和“谢谢”而被责骂。这不是一个论坛,并不意味着不应该讲礼貌...