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

  • 相关阅读:
    Visual Studio 2019 开发 Python 及
    Delphi 的环境配置
    Delphi 的 TMS 控件安装方法
    网络爬虫-书籍与框架
    建筑行业(项目管理) BI 数据可视化分析案例
    DeepNude(一健脱衣)的算法以及通用图像生成的理论与实践研究
    matlab生成HEX文件-任意信号 大于64K长度
    SDRAM总结
    function [ binary,decimal ] = num2binary16( number )
    任意时钟分频
  • 原文地址:https://www.cnblogs.com/roea1/p/15221570.html
Copyright © 2011-2022 走看看