无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1939|回复: 47
打印 上一主题 下一主题

[分享] 批处理自动以管理员身份运行(获取管理员权限)

  [复制链接]
跳转到指定楼层
1#
发表于 7 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hilsonma 于 2025-5-11 16:22 编辑

批处理获取管理员权限的代码网上很多,最终我采用以下这一行,放在批处理开头就可以了:
  1. net session >nul 2>&1||(mshta "vbscript:createobject("shell.application").shellexecute("%~0","%~1","","runas",1)&close()" & exit)
复制代码

评分

参与人数 1无忧币 +5 收起 理由
likeyouli + 5 赞一个!

查看全部评分

2#
发表于 7 天前 | 只看该作者
收藏备用,下次试试。
回复

使用道具 举报

3#
发表于 7 天前 | 只看该作者
感谢分享
回复

使用道具 举报

4#
发表于 7 天前 | 只看该作者
方法一

  1. @echo off&(pushd "%~dp0")&(cacls "%SystemDrive%\System Volume Information" >nul 2>&1)||(start "" mshta vbscript:CreateObject^("Shell.Application"^).ShellExecute^("%~snx0"," %*","","runas",1^)^(window.close^)&exit /b)
复制代码

方法二

  1. @echo off&(pushd "%~DP0")&(REG QUERY "HKU\S-1-5-19">NUL 2>&1)||(powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs"&&exit)
复制代码

方法三

  1. @ECHO OFF & CD /D %~DP0 & color f0
  2. >NUL 2>&1 reg.exe query "HKU\S-1-5-19" || (
  3.     ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
  4.     ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
  5.     "%TEMP%\Getadmin.vbs"
  6.     DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
  7.     Exit /b
  8. )
复制代码

方法四

  1. %1 start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
复制代码

从效果上,前三个可能更好

点评

一与楼主差不多;二XP可能用不了;三生成文件不好用;四与一差不多。  发表于 6 天前
这么多方法,收藏了  详情 回复 发表于 7 天前

评分

参与人数 1无忧币 +5 收起 理由
likeyouli + 5 赞一个!

查看全部评分

回复

使用道具 举报

5#
发表于 7 天前 | 只看该作者
有机会试试
回复

使用道具 举报

6#
发表于 7 天前 | 只看该作者
谢谢 需要 以前用的不知道是不是
回复

使用道具 举报

7#
发表于 7 天前 | 只看该作者
学习了,感谢共享资源。
回复

使用道具 举报

8#
发表于 7 天前 | 只看该作者
感谢分享
回复

使用道具 举报

9#
发表于 7 天前 | 只看该作者
感谢分享!!!
回复

使用道具 举报

10#
发表于 7 天前 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

11#
发表于 7 天前 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

12#
发表于 7 天前 | 只看该作者

这么多方法,收藏了
回复

使用道具 举报

13#
发表于 7 天前 | 只看该作者
楼主的这个更简单 只用将代码放在bat脚本的前面即可
回复

使用道具 举报

14#
发表于 7 天前 | 只看该作者
本帖最后由 断剑留痕 于 2025-5-11 20:01 编辑

我自己个人在 Win10 和 Win11上 用的
@echo off & pushd "%~dp0" & cd "%~dp0" & color 0a
(Net session >nul 2>&1 || (powershell "Start-Process '%~dpnx0' -verb runas" && exit))
SetLocal EnableDelayedExpansion
title 【窗口】标题 & echo.&echo.

点评

很好  发表于 7 天前
Net session 有些系统不准确。  详情 回复 发表于 7 天前

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

15#
发表于 7 天前 | 只看该作者
断剑留痕 发表于 2025-5-11 19:57
我自己个人在 Win10 和 Win11上 用的
@echo off & pushd "%~dp0" & cd "%~dp0" & color 0a
(Net session  ...

Net session 有些系统不准确。
回复

使用道具 举报

16#
发表于 7 天前 | 只看该作者
1801403 发表于 2025-5-11 20:20
Net session 有些系统不准确。

不准确就换这个
reg.exe query "HKU\S-1-5-19"
回复

使用道具 举报

17#
发表于 7 天前 | 只看该作者
好的获取管理员权限方法,要能避免因为判断权限程序丢失导致的死循环。
还得保证传参正常,尤其是带双引号参数和&字符参数

点评

对,写的有问题,在部分电脑环境会出现死循环。  详情 回复 发表于 6 天前
回复

使用道具 举报

18#
发表于 7 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

19#
发表于 7 天前 | 只看该作者
学习了,感谢分享
回复

使用道具 举报

20#
发表于 7 天前 | 只看该作者
回复

使用道具 举报

21#
发表于 7 天前 | 只看该作者

谢谢分享!
回复

使用道具 举报

22#
发表于 6 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

23#
发表于 6 天前 | 只看该作者
好东西,感谢分享
回复

使用道具 举报

24#
发表于 6 天前 | 只看该作者
感谢楼主
回复

使用道具 举报

25#
发表于 6 天前 | 只看该作者
学习了
回复

使用道具 举报

26#
发表于 6 天前 | 只看该作者

谢谢 学习一下
回复

使用道具 举报

27#
发表于 6 天前 | 只看该作者
学习一下!!!!!!!!!
回复

使用道具 举报

28#
发表于 6 天前 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

29#
发表于 6 天前 | 只看该作者

哪个通用性更好??

点评

一  详情 回复 发表于 6 天前
回复

使用道具 举报

30#
发表于 6 天前 | 只看该作者
bilvnet 发表于 2025-5-12 09:11
哪个通用性更好??

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-5-18 09:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表