我想要一个以管理员身份运行的批处理文件,现在我找到了以下内容:
:: ### START UAC SCRIPT ###
if "%2"=="firstrun" exit
cmd /c "%0" null firstrun
if "%1"=="skipuac" goto skipuacstart
: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
setlocal & pushd .
cd /d %~dp0
cmd /c "%0" skipuac firstrun
cd /d %~dp0
:skipuacstart
if "%2"=="firstrun" exit
:: ### END UAC SCRIPT ###
:: ### START OF YOUR OWN BATCH SCRIPT BELOW THIS LINE ###
问题是,我在命令提示符中遇到了很多错误,这就是我得到的:
C:\ Users \ Mark \ Desktop>如果“firstrun”==“firstrun”退出C:\ Users \ Mark \ Desktop> if“”==“skipuac”goto skipuacstart C:\ Users \ Mark \ Desktop> NET FILE 1> NUL 2> NUL C:\ Users \ Mark \ Desktop> if '2'=='0'(goto gotPrivileges)else(goto getPrivil eges)C:\ Users \ Mark \ Desktop> if''=='ELEV '(shift&goto gotPrivileges)C:\ Users \ Mark \ Desktop> setlocal DisableDelayedExpansion C:\ Users \ Mark \ Desktop>设置“batchPath = C:\ Users \ Mark \ Desktop \ Testing.bat”C:\ Users \ Mark \ Desktop> setlocal EnableDelayedExpansion C:\ Users \ Mark \ Desktop> ECHO设置UAC = CreateObject(“Shell.Application”)1>“C:\ Us ers \ Mark \ AppData \ Local \ Temp \ OEgetPrivileges.vbs”C:\ Users \ Mark \ Desktop> ECHO UAC.ShellExecute“!batchPath!”,“ELEV”,“”,“runas”,1 1 >>“C:\ Users \ Mark \ AppData \ Local \ Temp \ OEgetPrivileges.vbs”C :\用户\马克\桌面> “C:\用户\马克\应用程序数据\本地的\ Temp \ OEgetPrivileges.vbs”
有没有办法解决这个问题,只是检查管理员权限,并要求它没有?