18,124
社区成员
发帖
与我相关
我的任务
分享
set uac=0
bcdedit>nul
if errorlevel 1 set uac=1
@ECHO OFF
Rem 创建文件路径
set TempFile_Name=%SystemRoot%\System32\BatTestUACin_SysRt%Random%.batemp
echo %TempFile_Name%
Rem 写入文件
( echo "BAT Test UAC in Temp" >%TempFile_Name% ) 1>nul 2>nul
Rem 判断写入是否成功
if exist %TempFile_Name% (
echo 正在以管理员身份运行当前批处理
) else (
echo 没有以管理员身份运行当前批处理
)
pause
Rem 删除临时文件
del %TempFile_Name% 1>nul 2>nul
echo 按空格键退出……
pause >nul
@echo off
title BAT
setlocal EnableDELAYEDEXPANSION
Rem 设置标志变量
set UAC=0
Rem 获取tasklist命令输出
For /f "usebackq delims==" %%i In (`tasklist /fi "WINDOWTITLE eq 管理员: BAT"`) Do (
set "cmdline=%%i"
set "cmdline=!cmdline:~0,7!"
if "!cmdline!" == "cmd.exe" (
set UAC=1
)
)
if "%UAC%" == "1" (
echo 正在以管理员身份运行当前批处理
) else (
echo 没有以管理员身份运行当前批处理
)
:End
pause
exit