让bat批处理以管理员权限运行的实现方法

 更新时间:2021年09月18日 00:07:31   投稿:mdxy-dxy  

这篇文章主要介绍了让bat批处理以管理员权限运行的实现方法,需要的朋友可以参考下

1、第一种方法

有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

@ echo off

%1 %2

ver|find "5.">nul&&goto :Admin

mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof

:Admin

//在你的bat开头加上上面的命令即可

//下面是你需要执行的命令

set path=%~dp0

echo install mysql service...

echo %path%

cd %path%\bin\

mysqld.exe --remove mysql

mysqld.exe --install mysql

echo start mysql Serviceo

"%SystemRoot%"\system32\net start mysql

2、bat脚本获取管理员权限

1

2

3

@echo off

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

cd /d "%~dp0"

写在bat文件的顶端就可以实现。

3、bat脚本中以管理员权限执行命令

在bat脚本文件第一行加上下面命令:

1

%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit

4、自动以管理员身份运行批处理(bat)文件

在日常运维工作中,为方便对windows用户进行系统安装或配置等,使用Windows自带的批处理(bat文件)是一种最为简单快速的方法。

但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分

我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了

示例代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

@ECHO OFF

setlocal EnableDelayedExpansion

color 3e

title 添加服务配置

  

PUSHD %~DP0 & cd /d "%~dp0"

%1 %2

mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof

:runas

  

::填写自己的脚本

  

echo 执行完毕,任意键退出

  

pause >nul

exit

5、以管理员权限执行bat脚本

只需要在你编写的.bat文件的开头加上以下脚本,然后双击.bat文件即是以管理员权限执行

1

2

3

4

5

6

7

8

9

10

11

@echo off&color 17

if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0

bcdedit >nul

if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)

:UACPrompt

%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

exit /B

:UACAdmin

cd /d "%~dp0"

echo 当前运行路径是:%CD%

echo 已获取管理员权限

6、如何让BAT和CMD批处理以管理员身份运行

如何让BAT和CMD批处理以管理员身份运行?

有些批处理需要很高的权限执行才能达到我们所需要的效果,

将以下代码放入批处理最顶部就可以实现以管理员身份运行了。

1

2

3

4

5

6

7

8

9

10

11

12

@echo off

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

if '%errorlevel%' NEQ '0' (

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" )

7、命令行CMD批处理自动以管理员身份运行的正确方法

修正了路径有空格时的问题

在批处理开头加上:

适用于无参数

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

适用于一参数

%2 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" "^&chr(34)^&"%~1"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

更多参数的以此类推
运行批处理时多加一个参数::,这句就不会执行
为了兼容8.3短路径,可把%~0等换成%~s0
理论上是没问题,但启动路径有时不可靠,之后可能还要pushdcd /d

8、bat文件以管理员权限运行的几种方式

1、创建bat快捷方式,然后右键快捷方式-->properties-->advanced-->Run as administrator。
2、下载bat转成exe工具,将bat转成exe,然后右键exe-->properties-->Compatibility-->Run as administrator。
3、以管理员权限运行cmd,然后dos框中运行相应的bat。

到此这篇关于让bat批处理以管理员权限运行的实现方法的文章就介绍到这了,更多相关管理员权限运行bat内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

要在Windows 10启动时使用批处理文件获取管理员权限,您可以按照以下步骤操作: 1. 首先,创建一个新的批处理文件。可以通过在桌面或任何其他适合的位置右键单击,选择“新建”并选择“文本文档”来创建一个新的文本文件。 2. 打开新创建的文本文件,并复制以下代码到文件中: ``` @echo off title 获取管理员权限 echo 正在请求管理员权限... net session >nul 2>&1 if %errorLevel% == 0 ( echo 已经具有管理员权限 ) else ( echo 正在获取管理员权限... > "%temp%\GetAdmin.vbs" echo Set UAC = CreateObject^("Shell.Application"^) >> "%temp%\GetAdmin.vbs" echo UAC.ShellExecute "cmd.exe", "/c %~s0", "", "runas", 1 >> "%temp%\GetAdmin.vbs" echo Set UAC = Nothing "%temp%\GetAdmin.vbs" del "%temp%\GetAdmin.vbs" ) echo 请按任意键继续... pause >nul ``` 3. 将文件保存为批处理文件(.bat或.cmd)。选择“另存为”,在文件名中输入一个合适的名称,并确保将文件类型设置为“All Files”。 4. 现在,您可以将该批处理文件移动到Windows的启动文件夹中,以便在每次启动时自动运行。启动文件夹的路径通常为“C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”。只需打开Windows资源管理器,复制并粘贴路径到地址栏,然后按Enter键。 5. 将批处理文件复制到启动文件夹中。 6. 重新启动您的计算机,批处理文件将在登录后自动运行,并获取管理员权限。 这样,您就可以在Windows 10启动时使用批处理文件获取管理员权限了。请确保在使用管理员权限时要小心谨慎,以免造成意外损害。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值