V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bobopu
V2EX  ›  编程

有没有什么办法让批处理以管理员权限运行?

  •  
  •   bobopu · 2014-05-02 11:34:00 +08:00 · 13565 次点击
    这是一个创建于 3866 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前提是win8,不使用快捷方式,让批处理以管理员权限运行。
    5 条回复    2014-05-02 18:48:15 +08:00
    Just1n
        1
    Just1n  
       2014-05-02 11:37:26 +08:00
    是随时还是?
    我前段时间有一个每次开机都要管理员权限运行一个批处理文件的需求,用的是windows计划任务。
    bobopu
        2
    bobopu  
    OP
       2014-05-02 12:51:18 +08:00
    @Just1n 是永久。
    scusjs
        3
    scusjs  
       2014-05-02 13:38:18 +08:00
    @echo off

    %1 %2
    ver|find "5.">nul&&goto :st
    mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof
    :st
    copy "%~0" "%windir%\system32\"

    这是以前不知道哪里复制的,把自己的命令加在后面就可以了
    vibbow
        4
    vibbow  
       2014-05-02 14:07:39 +08:00
    @echo off

    :: BatchGotAdmin
    :-------------------------------------
    REM --> Check for permissions
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

    REM --> If error flag set, we do not have admin.
    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"
    :--------------------------------------

    <YOUR BATCH SCRIPT HERE>
    bobopu
        5
    bobopu  
    OP
       2014-05-02 18:48:15 +08:00 via Android
    @scusjs
    @vibbow 感谢二位,上班后去试一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:25 · PVG 07:25 · LAX 15:25 · JFK 18:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.