[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批處理提升權限

在 http://www.verydemo.com/demo_c347_i12701.html 看到可以提升批處理權限

但在X64底下卻無限循環,求解了

命令是

>nul 2>&1 "%SYSTEMROOT%\System32\cacls.exe" "%SYSTEMROOT%\System32\config\system"

if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"

TOP

把文件夹下的 *.exe、*.com、*.bat 和 *.cmd 都改个名,往往能能解决非逻辑错误的诡异循环...

TOP

回复 3# CrLf


還是無效...
大師能幫忙改個 X64 代碼嗎?

TOP

這代碼有效
%1 %2
ver|find "6.">nul&&mshta vbscript:createobject("shell.application").shellexecute("""%~0""","goto :st",,"runas",1)(window.close)&&exit /b

:st
echo,%cd%

TOP

返回列表