zoukankan      html  css  js  c++  java
  • bat脚本执行获取管理员权限的方法

    ::作者:落梧凉
    ::链接:https://www.zhihu.com/question/34541107/answer/154430381
    ::来源:知乎
    ::著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    @echo off
    title 获取管理员权限
    mode con cols=100 lines=20
    color 3f

    :: 开始获取管理员权限
    setlocal
    set uac=~uac_permission_tmp_%random%
    md "%SystemRoot%system32\%uac%" 2>nul
    if %errorlevel%==0 ( rd "%SystemRoot%system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
    endlocal
    :: 完成获取,下面可以开始写你自己的代码了

    echo.
    echo 原理:先尝试在系统目录下临时新建一个文件夹,若已获取管理员权限或是运行在XP等不需要管理员权限的
    echo 老系统时,是可以新建成功的,此时只需删除这个临时新建的文件夹就好了,否则通过创建一个临时
    echo vbs脚本获取管理员权限,然后再删除这个临时vbs脚本文件。
    echo.
    echo 提示:当获取管理员目录后,你的批处理运行目录会发生变化,为保证目录准确,
    echo 可通过 cd 切换目录,例“cd /d %%~dp0”切换回批处理所在目录
    echo.
    echo 当前运行目录: %cd%
    echo 批处理所在目录:%~dp0
    echo.
    echo 例:切换回批处理所在目录
    echo cd /d %%~dp0
    echo.

    cd /d %~dp0

    echo 当前运行目录: %cd%
    echo 批处理所在目录:%~dp0

    ::此处添加需要提权的命令


    pause
    exit

  • 相关阅读:
    根据时间戳获取年月日时分秒
    除法函数,乘法函数,加法函数,减法函数
    禁止鼠标点右键
    获取cookie,设置cookie,删除cookie
    解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)
    团队展示
    用户规格说明书——结对编程
    测试与优化——结对编程
    程序开发——结对编程
    程序开发初体验
  • 原文地址:https://www.cnblogs.com/roea1/p/15221570.html
Copyright © 2011-2022 走看看